Java >> Tutoriel Java >  >> Java

Programmation Orientée Objet | POO

Qu'est-ce que la programmation orientée objet ?

C'est le style de programmation dans lequel un grand logiciel d'application est implémenté en termes d'unités indépendamment programmables de « données » (sous la forme de champs, souvent appelés attributs) et d'« opérations » ou de « codes » (sous la forme de procédures, souvent appelés méthodes) appelés objets .

ÉLÉMENTS DE BASE DE LA POO (Programmation Orientée Objet)

Un objet qui contient un autre objet dans son bloc de données présente un confinement (A-A ) relation avec cet objet qui est des deux types suivants :

  1. Chaque objet a une classe qui spécifie un ensemble de variables (champs), qui définit les données (état) stockées dans l'objet, et un ensemble de fonctions (méthodes), qui définit les opérations (comportement) prises en charge par l'objet.
  2. Un objet est créé (activé) à partir d'une classe par instanciation dans laquelle d'abord un bloc de mémoire alloué pour stocker les valeurs des variables spécifiées par la classe, puis une fonction spéciale appelée constructeur, spécifiée par la classe est appelée pour initialiser celles-ci valeurs.
  3. Chaque objet a une identité unique et lorsqu'une fonction spécifiée par une classe est appelée sur ses objets, l'identité de cet objet est implicitement transmise à l'implémentation de cette fonction.
  4. Un objet qui contient un autre objet dans son bloc de données présente une relation de confinement (HAS-A) avec cet objet qui est des deux types suivants :
    • Composition :il s'agit d'un type de confinement dans lequel l'objet externe contient toutes les données de l'objet interne et contrôle sa durée de vie.

Ex :dans la figure 4. (a) L'hôtel dispose d'une chambre (ou l'hôtel contient une chambre), la chambre n'a pas sa propre durée de vie.

Agrégation :C'est un type de confinement dans lequel les objets extérieurs détiennent l'identité de l'objet intérieur et lui permettent de contrôler sa propre durée de vie.

Ex :dans la figure 4.(b) La chambre a une identité (nom, âge, adresse) d'invité et l'invité a sa propre durée de vie

Une classe dérivée peut être définie comme une extension (sous-classe) d'une (super) classe de base existante. Pour spécifier des variables et des fonctions supplémentaires ou pour fournir de nouveaux outils pour ses fonctions existantes.

Une classe abstraite non instanciable peut être définie pour spécifier un ensemble de fonctions pures (non implémentées) appelées une interface qui peut être implémentée par ses classes dérivées non abstraites (instanciables).

Un objet de classe dérivée présente un héritage (IS-A ) relation avec sa classe de base qui est des deux types suivants :Réalisation :C'est un type d'héritage dans lequel la classe de base est abstraite mais la classe dérivée n'est pas abstraite.

Spécialisation :C'est un type d'héritage dans lequel la classe de base et la classe dérivée sont toutes deux non abstraites.


Balise Java