ݺߣ

ݺߣShare a Scribd company logo
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 OOP
                            Aplicar 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
Arrays




                    Everything is an object




Thursday, November 1, 12
Arrays
                                    Dates


                    Everything is an object




Thursday, November 1, 12
Arrays
                                    Dates


                    Everything is an object

                                    Objects



Thursday, November 1, 12
Arrays
                                          Dates


                    Everything is an object

                                          Objects

                                Strings
Thursday, November 1, 12
Arrays
                                          Dates


                    Everything is an object

               Numbers                    Objects

                                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

                           Singleton
                            Pattern

                                 Unique




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 Chaining
                                Pseudo-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

More Related Content

JavaScript: The prototype Property