mdn/js/2_javascript_objects/2_object_oriented_programming

2_object_oriented_programming

dz / mdn / js / 2_javascript_objects / 2_object_oriented_programming

Summary

Object-oriented programming

Node Tree

Nodes

OOP
content Object-oriented programming
children public_interface_private_state, classes_instances, encapsulation, inheritance, model_system_as_collection_of_objs

classes_instances
content Classes and Instances
children class, instance
parents OOP

inheritance
content Inheritance
children polymorphism, proto_chain_less_inheritance_more_delegation, superclass, inheritance_desc (description)
parents OOP

model_system_as_collection_of_objs
content Model system as collection of objects, each one representing an aspect of the system
parents OOP

encapsulation
content Encapsulation
children encapsulation_desc
parents OOP

class
content class: abstraction definition representing a type of object in the system.
parents classes_instances

instance
content Instance: concrete object of a particular type
children created_with_constructor
parents classes_instances

created_with_constructor
content Created with constructor
parents instance

public_interface_private_state
content public interface to other code, private internal state
parents OOP

inheritance_desc
content inheritance: mechanism that allows objects of different types to share properties from a common source.
parents inheritance

superclass
content superclass / parent class: class a particular class is derived from
children subclass (related)
parents inheritance

subclass
content subclass / child class: class derived from superclass
parents superclass

polymorphism
content polymorphism: method with same name, but different implementation in different classes
children override
parents inheritance

override
content override: method in a subclass that replaces the superclass's implementation
parents polymorphism

encapsulation_desc
content encapsulation: keeping an object state private and making a clear division between public interface and private state.
parents encapsulation

proto_chain_less_inheritance_more_delegation
content A prototype is less like inheritance, more like delegation
children delegation
parents inheritance

delegation
content delegation: pattern where an object, when asked to perform a task, can perform the task itself or ask another object (delegate) to perform task on its behalf
parents proto_chain_less_inheritance_more_delegation