Chapter 6 Object-Oriented Java Script JavaScript, Third Edition

Preview:

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

Recommended