Product Design, Manufacturing & Innovation Resources
Maison » Héritage (programmation OOP)

Héritage (programmation OOP)

1967
  • Kristen Nygaard
  • Ole-Johan Dahl
Programmeur codant l'héritage en programmation orientée objet dans un bureau moderne.

(Image générée à titre d'illustration uniquement)

L'hérédité est un mécanisme dans POO Lorsqu'une nouvelle classe (sous-classe ou classe dérivée) est basée sur une classe existante (superclasse ou classe de base), en héritant de ses attributs et méthodes, cela favorise la réutilisation du code et établit une hiérarchie naturelle entre les classes. La sous-classe peut étendre ou redéfinir le comportement hérité, permettant ainsi des implémentations plus spécifiques tout en conservant une interface commune.

L'héritage facilite la relation “is-a” entre les classes. Par exemple, un ‘chien’ est un type d‘’animal‘. Dans ce scénario, ’Animal‘ serait la superclasse, contenant des attributs généraux et des méthodes comme ’age‘ et ’eat()‘. La classe ’Chien‘ serait la sous-classe, héritant de ces propriétés et ajoutant ses propres propriétés spécifiques, comme ’race‘ et ’bark()". Cela permet d'éviter la duplication du code, car la logique commune est définie une fois dans la superclasse et réutilisée par toutes ses sous-classes. Les modifications apportées à la superclasse sont automatiquement propagées à toutes les sous-classes, ce qui simplifie la maintenance.

Il existe différents types d'héritage, notamment l'héritage simple (une classe hérite d'une seule superclasse), l'héritage multiple (une classe hérite de plusieurs superclasses) et l'héritage multiniveau (une classe hérite d'une autre classe qui est elle-même une sous-classe). Bien que puissant, l'héritage peut également introduire de la complexité et un couplage étroit entre les superclasses et les sous-classes. Une utilisation excessive peut conduire à des hiérarchies profondes et alambiquées qui sont difficiles à comprendre et à maintenir. La conception moderne privilégie souvent la composition par rapport à l'héritage, où un objet contient une instance d'un autre objet pour permettre la réutilisation du code, ce qui représente une relation de type “has-a”.

UNESCO Nomenclature: 1203
- Informatique

Taper

Système abstrait

Perturbation

Substantiel

Usage

Utilisation généralisée

Précurseurs

  • le concept de classification hiérarchique en biologie et en philosophie
  • structures de données pouvant contenir d'autres structures de données
  • la nécessité de réutiliser le code dans les grands systèmes logiciels
  • la conception du langage simula, qui a introduit les classes et l'héritage

Applications

  • gui widget toolkits (e.g., a ‘button’ class inheriting from a ‘control’ class)
  • cadres pour le développement Web (par exemple, classes de contrôleur héritant d'un contrôleur de base)
  • le développement de jeux (par exemple, les classes ‘orc’ et ‘elfe’ héritant d'une classe ‘personnage’)
  • modélisation des classifications biologiques
  • création de types d'exceptions spécialisés dans les langages de programmation

Brevets:

NA

Idées d'innovations potentielles

En raison du trafic généré par les robots de scraping, actuellement supérieur à 40 000 par jour, ce contenu est réservé aux membres de la communauté.
> Connexion < ou > Registre < (100% gratuit) pour y accéder, ainsi qu'à tous les autres contenus et outils à accès restreint.

En rapport avec : héritage, sous-classe, superclasse, classe dérivée, classe de base, réutilisation du code, hiérarchie, relation is-a, polymorphisme, surcharge.

Contexte historique

Héritage (programmation OOP)

1953
1960
1960
1967
1970
1970
1970
1952
1956
1960
1967
1967
1970
1970
1970

(si la date est inconnue ou non pertinente, par exemple « mécanique des fluides », une estimation arrondie de son émergence notable est fournie)

Inventions, innovations et principes techniques connexes

Les images en pleine résolution et les téléchargements sont uniquement disponibles, et 100% gratuits, pour les membres inscrits.