You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cours-MDS/b1-algo/c2-2-ALGORITHMIQUE-POO.md

51 lines
2.0 KiB

3 years ago
# 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