JavaScript, Third Edition

handprintΛογισμικό & κατασκευή λογ/κού

18 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

71 εμφανίσεις

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