JavaScript: The prototype Property

Post on 31-Oct-2014

1.009 views 3 download

Tags:

description

 

Transcript of JavaScript: The prototype Property

JavaScript The prototype Property

Thursday, November 1, 12

Brief

What’s OOP?

JavaScript OOP

Prototype

Inheritance

Thursday, November 1, 12

What’s OOP?Introducir a OOP

Presentar el vocabulario

Thursday, November 1, 12

Object Oriented Programming

Thursday, November 1, 12

Programming paradigm

Thursday, November 1, 12

Data abstraction

Encapsulation

Messaging

Modularity

Polymorphism

Inheritance

Thursday, November 1, 12

Use object based on the real world

Thursday, November 1, 12

Class vs Object

Thursday, November 1, 12

Class

A Class defines Objects

Properties

An object characteristic, such as color

Methods

An object capability, such as walk

Thursday, November 1, 12

Objects

A instance of a Class

Share properties and behavior

Unique

Thursday, November 1, 12

Class

Thursday, November 1, 12

Class

Object1

Thursday, November 1, 12

Class

Object1 Object2

Thursday, November 1, 12

Class

Object1 Object2 Object3

Thursday, November 1, 12

Exercise

Thursday, November 1, 12

JavaScript OOPAplicar JavaScript OOP

Thursday, November 1, 12

JavaScript is a prototypal language

Thursday, November 1, 12

Prototype-based programming

Class free

Classes are not present

Not Object Oriented

Everything is public

Objects inherits from another objects

Thursday, November 1, 12

Objects in JavaScript

Thursday, November 1, 12

Everything is an object

Thursday, November 1, 12

Everything is an object

Arrays

ArraysThursday, November 1, 12

Everything is an object

Arrays

Arrays

Dates

Thursday, November 1, 12

Everything is an object

Arrays

Objects

Arrays

Dates

Thursday, November 1, 12

Everything is an object

Arrays

Objects

Arrays

Dates

Strings

Thursday, November 1, 12

Everything is an object

Arrays

Objects

Arrays

Numbers

Dates

Strings

Thursday, November 1, 12

They have methods and properties

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Custom Objects

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Not reuse

Thursday, November 1, 12

Not reuse

Unique

Thursday, November 1, 12

Not reuse

Unique

Singleton Pattern

Thursday, November 1, 12

Exercise

Thursday, November 1, 12

Constructors

Thursday, November 1, 12

Constructor

Functions

Classes

Create diferents instances ==> Objects

Use new operator

Accepts parameters

Returns an instance ==> Object

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Constructor

Has properties and methods

length

constructor

apply()

call()

prototype

Thursday, November 1, 12

Thursday, November 1, 12

Prototype

Thursday, November 1, 12

Prototype

A property

Defines properties and methods to all instances

Works with new operator

Stored in the memory once

Contain an Object

initial value === empty Object === {}

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Inheritance

Thursday, November 1, 12

Inheritance

A new “class” is created from another “class”

Extends functionality

Defines new attributes and methods

A way to reuse code

All Object inherit from Object.prototype

12+ ways to inherits in JS

Thursday, November 1, 12

Prototype ChainingPseudo-clasical

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Thursday, November 1, 12

Inherited

Thursday, November 1, 12

Inherited

Thursday, November 1, 12

Own

Thursday, November 1, 12

The End

Thursday, November 1, 12