370 likes | 555 Views
JavaScript, Third Edition. Chapter 6. Object-Oriented Java Script. 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. Introduction to Object-Oriented Programming.
E N D
JavaScript, Third Edition Chapter 6 Object-Oriented Java Script
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
Introduction to Object-Oriented Programming • Object-oriented programming allows you to reuse code without having to copy or recreate it JavaScript, Third Edition
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
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
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
Encapsulation • Objects are encapsulated: • All code and required data are containedwithin 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
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
Encapsulation (Cont.) • The principal of information hidingstates that: • Any class members that other programmers do not need to access or know about should be hidden JavaScript, Third Edition
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
Encapsulation (Cont.) JavaScript, Third Edition
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 instantiatingthe object JavaScript, Third Edition
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
Built-in JavaScript Classes JavaScript, Third Edition
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
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
Array Class • The Array classcreates 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
Array Class Methods JavaScript, Third Edition
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
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
Date Class (Cont.) JavaScript, Third Edition
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
Number Class Methods JavaScript, Third Edition
Number Class Properties JavaScript, Third Edition
Math Class • The Math classcontains methods and properties for performing mathematical calculations in your programs JavaScript, Third Edition
Math Class Methods JavaScript, Third Edition
Math Class Methods (Cont.) JavaScript, Third Edition
Math Class Properties JavaScript, Third Edition
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
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
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
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
The prototype Property • The prototype propertyis a built-in property: • Specifies the constructor from which an object was extended JavaScript, Third Edition
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
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
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
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 JavaScript, Third Edition