Upload
cathleen-dean
View
230
Download
0
Tags:
Embed Size (px)
Citation preview
Chapter 6
Object-Oriented Java Script
JavaScript, Third Edition
JavaScript, Third Edition 2
Objectives
• Study object-oriented programming
• Learn about the built-in JavaScript objects
• Work with the Array, Date, Math, and Number objects
• Define custom JavaScript objects
JavaScript, Third Edition 3
Introduction to Object-Oriented Programming
• Object-oriented programming allows you to reuse code without having to copy or recreate it
JavaScript, Third Edition 4
Reusable Software
• Object-oriented programming (OOP):
– Refers to the creation of reusable software objects that can be easily incorporated into multiple programs
• Object:
– Specifically refers to programming code and data that can be treated as an individual unit or component
JavaScript, Third Edition 5
Reusable Software (Cont.)
• Data:
– Refers to information contained within variables or other types of storage structures
• Objects can range from simple controls such as a button, to entire programs such as a database application
JavaScript, Third Edition 6
Reusable Software (Cont.)
• Popular object-oriented programming languages include C++, Java, and Visual Basic
• Using any of these or other object-oriented languages:
– Programmers can create objects themselves or use objects created by other programmers
JavaScript, Third Edition 7
Encapsulation
• Objects are encapsulated:
– All code and required data are contained within the object itself
• Encapsulation:
– Places code inside what programmers like to call a “black box”
– When an object is encapsulated, you cannot see “inside” it—all internal workings are hidden
JavaScript, Third Edition 8
Encapsulation (Cont.)
• The code (methods and statements) and data (variables and constants) contained in an encapsulated object are accessed through an interface
• Interface:
– Represents elements required for a source program to communicate with an object
JavaScript, Third Edition 9
Encapsulation (Cont.)
• The principal of information hiding states that:
– Any class members that other programmers do not need to access or know about should be hidden
JavaScript, Third Edition 10
Encapsulation (Cont.)
• Encapsulation prevents other programmers from:
– Accidentally introducing a bug into a program
– Stealing the code and claiming it as their own
JavaScript, Third Edition 11
Encapsulation (Cont.)
JavaScript, Third Edition 12
Classes • In object-oriented programming:
– Code, methods, attributes, and other information that make up an object are organized into classes
• Class:
– Template, or blueprint, that serves as the basis for new objects
• Instance:
– Object that has been created from an existing class
• Called instantiating the object
JavaScript, Third Edition 13
Classes (Cont.)
• A particular instance of an object inherits its methods and properties from a class:
– It takes on the characteristics of the class on which it is based
JavaScript, Third Edition 14
Built-in JavaScript Classes
JavaScript, Third Edition 15
Instantiating an Object
• You can use some of the built-in JavaScript objects directly in your code
• Other objects require you to instantiate a new object
JavaScript, Third Edition 16
Garbage Collection
• Refers to cleaning up, or reclaiming, memory that is reserved by a program
• JavaScript knows when a program no longer needs a variable or object
– Automatically cleans up the memory
JavaScript, Third Edition 17
Array Class
• The Array class creates new array objects
• When creating an array using the Array() constructor, an object from the Array class is instantiated
• In addition to the Array() constructor, the Array class contains:
– Methods and properties for manipulating the elements of an array
JavaScript, Third Edition 18
Array Class Methods
JavaScript, Third Edition 19
The Length Property
• Returns the number of elements in an array
• You append the length property to the name of the array you want to sort using the following syntax:
array_name.length;
JavaScript, Third Edition 20
Date Class
• Contains methods and properties for manipulating the date and time
• The Date object allows you to use the current date and time in your JavaScript programs
• You create a new instance of the Date class using the syntax var dateObject = new Date();
JavaScript, Third Edition 21
Date Class (Cont.)
JavaScript, Third Edition 22
Number Class
• Contains methods for manipulating numbers and properties that contain static values representing some of the numeric limitations in the JavaScript language
JavaScript, Third Edition 23
Number Class Methods
JavaScript, Third Edition 24
Number Class Properties
JavaScript, Third Edition 25
Math Class
• The Math class contains methods and properties for performing mathematical calculations in your programs
JavaScript, Third Edition 26
Math Class Methods
JavaScript, Third Edition 27
Math Class Methods (Cont.)
JavaScript, Third Edition 28
Math Class Properties
JavaScript, Third Edition 29
Custom JavaScript Objects
• JavaScript is not a true object-oriented programming language:
– Base objects in your programs on built-in JavaScript classes such as the Array and Date objects
– However, you cannot create your own classes in JavaScript
– You can define your own custom objects using a constructor function
JavaScript, Third Edition 30
Constructor Function
• A function used as the basis for a custom object
• JavaScript objects inherit all the variables and statements of the constructor function on which they are based
• Any JavaScript function can serve as a constructor
JavaScript, Third Edition 31
Properties
• To add a property to a constructor function:
– You must add a statement to the function body that uses the this keyword with the following syntax:
• this.property_name = value;
– In the case of a custom JavaScript object, the this keyword refers to the object that calls the constructor function
JavaScript, Third Edition 32
Methods
• You can create a function that will be used as an object method:
– By referring to any object properties using the this reference
JavaScript, Third Edition 33
The prototype Property
• The prototype property is a built-in property:
– Specifies the constructor from which an object was
extended
JavaScript, Third Edition 34
Chapter Summary
• Object-Oriented programming (OOP):
– Refers to the creation of reusable software objects that can be easily incorporated into another program
• Components:
– Reusable software objects
• Object:
– Programming code and data that can be treated as an individual unit or component
JavaScript, Third Edition 35
Chapter Summary (cont.)
• Objects are encapsulated:
– All code and required data are contained within the object itself
• Interface :
– Represents elements required for a source program to communicate with an object
• The principal of information hiding:
– States that any class members that other programmers do not need to access or know about should be hidden
JavaScript, Third Edition 36
Chapter Summary (cont.)• In object-oriented programming:
– Code, methods, attributes, and other information that make up an object are organized using classes
• An instance:– Object created from an existing class
• An object inherits, or takes on, the characteristics of the class on which it is based
• The Date class:– Contains methods and properties for manipulating the
date and time
JavaScript, Third Edition 37
Chapter Summary (cont.)
• The Number class:
– Contains methods for manipulating numbers and properties that
• The this keyword:
– Refers to the current object
• The prototype property:
– Built-in property that specifies the constructor from which an object was extended