En programmation orientée objet, l’héritage est un mécanisme qui permet, lors de la déclaration d’une nouvelle classe, d'y inclure les caractéristiques d’une autre classe. L'héritage établit une relation de généralisation-spécialisation qui permet d'hériter dans la déclaration d’une nouvelle classe (appelée classe dérivée, classe fille, classe enfant ou sous-classe) des caractéristiques (propriétés et méthodes) de la déclaration d'une autre classe (appelée classe de base, classe mère, classe parent ou super-classe). En déclarant une nouvelle classe B par héritage de la classe A, ajoutant de nouveaux membres, on peut alors dire que : A est une généralisation de B et B est une spécialisation de A ; A est une super-classe de B et B est une sous-classe de A ; A est la classe mère de B et B est une classe fille de A. Lorsqu'une classe fille hérite d'une classe mère, elle peut alors utiliser les caractéristiques de la classe mère. Par exemple, on déclare d'abord la classe de base Vehicule puis, à partir de celle-ci, on déclare les classes dérivées Automobile et Avion qui héritent alors des caractéristiques de la classe de base Vehicule. On parle d'héritage, car le principe est en quelque sorte le même que celui d’un arbre généalogique; tout comme l'enfant hérite des caractéristiques du parent, les classes « filles » héritent des caractéristiques de leur(s) « mère(s) ». Ce principe est basé sur une classe dont les « filles » héritent des caractéristiques de leur(s) « mère(s) ». En programmation orientée objet, l'héritage permet donc de réutiliser (décomposer un système en composants) et d'adapter les objets grâce au polymorphisme. Une classe abstraite ne peut être instanciée. Si la classe mère est une classe abstraite, il y a de forte chance qu'elle présente des caractéristiques abstraites (retardées). Pour être instanciable, la classe fille doit alors les définir, sinon elle sera elle-même abstraite. Si la classe mère est instanciable (c'est-à-dire que toutes ses caractéristiques sont définies) alors la classe fille est également instanciable.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (28)
CS-112(i): Object oriented programming
L'objectif de ce cours est de développer des compétences de base en programmation. L'accent sera mis sur l'approche orientée-objet laquelle renforce la réutilisabilité, la maintenabilité et la fiabili
MATH-458: Programming concepts in scientific computing
The aim of this course is to provide the background in scientific computing. The class includes a brief introduction to basic programming in c++, it then focus on object oriented programming and c++ s
CS-107: Introduction to programming
Ce cours aborde les concepts fondamentaux de la programmation et de la programmation orientée objet (langage JAVA). Il permet également de se familisarier avec un environnement de développement inform
Afficher plus
Publications associées (32)
MOOCs associés (15)
Parallelism and Concurrency
(merge of parprog1, scala-reactive, scala-spark-big-data)
Functional Programming
In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for rea
Functional Programming Principles in Scala [retired]
This advanced undergraduate programming course covers the principles of functional programming using Scala, including the use of functions as values, recursion, immutability, pattern matching, higher-
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.