# POO Programtion orientée objet (POO) ou Object oriented programming (OOP). ## les 4 princpes : ### encapsulation ### héritage ### abstraction ### polymorphisme ## encapsulation : Un objet est un ensemble de de variables qu'on appelle dans ce cas des `propriétés` et de fonctions qu'on appelle dans ce cas `méthodes`. Cet ensemble de méthodes et de propriétés définit l'`interface` d'un objet, c'est ce qui nous permet d'interagir avec lui. Seules les méthodes et propriétés `publiques` constituent l'interface Les objets peuvent également avoir avoir des propriétés et méthodes `privée` qui ne sont alors accessible que à l'intérieur de l'objet. Un instance d'objet peut se référer à elle même en utilisant le mot clef `ceci` Enfin et ceci servira pour l'héritage un objet peut avoir des propriétés et méthodes `protégées`, on y reviens plus bas dans le cas de l'héritage. ## héritage Un fois qu'un objet A existe il est possible d'étendre ou de mofifier partiellement sont comportement pour en faire un objet légèrement différent, qu'on appellera B. On dit alors que l'objet B étends A, ou encore qu'il est enfant de A car il hérite des propriétés et des méthodes de celui-ci. Et c'est ici que l'on revient au mot clef protégé. Si un objet B étend un objet A alors B a accès au methodes et propriétés protégées de celui ci. Mais pas au méthodes privées. Et seuls les héritiers de A on accès à ces méthodes protégées. Un instance d'objet peut se référer à des méthodes de son parent en utilisant le mot clef `parent` ## Nouveaux opérateurs - -> pour atteindre la proipriété d'un objet ou utiliser une de ces méthodes - instancede pour savoir si une variable est une instance d'un objet. - pour ## Nouvelles instructions ## Mots clefs ## sources : - https://medium.com/@kmccurley/object-oriented-programming-encapsulation-polymorphism-inheritance-ebbe24051202 - https://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objet - https://en.wikipedia.org/wiki/Object-oriented_programming