Héritage (informatique)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).
Héritage multipleEn informatique, l’héritage multiple est un mécanisme de programmation orientée objet dans lequel une classe peut hériter de comportements et de fonctionnalités de plus d'une super-classe. Il s'oppose à l'héritage simple, dans lequel une classe ne peut hériter que d'une seule super-classe. Il est supporté par certains langages de programmation, par exemple C++, Eiffel ou Python. Pouvant poser des problèmes, d’autres langages comme Ada, C#, Fortran, Java, Objective-C, Ruby, Swift ou Visual Basic ont préféré ne pas le proposer directement.
Virtual method tableIn computer programming, a virtual method table (VMT), virtual function table, virtual call table, dispatch table, vtable, or vftable is a mechanism used in a programming language to support dynamic dispatch (or run-time method binding). Whenever a class defines a virtual function (or method), most compilers add a hidden member variable to the class that points to an array of pointers to (virtual) functions called the virtual method table.
Classe (informatique)En programmation orientée objet, la déclaration d'une classe regroupe des membres, méthodes et propriétés (attributs) communs à un ensemble d'objets. La classe déclare, d'une part, des attributs représentant l'état des objets et, d'autre part, des méthodes représentant leur comportement. Une classe représente donc une catégorie d'objets. Elle apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets ; c'est en quelque sorte une « boîte à outils » qui permet de fabriquer un objet.
C++C++ est un langage de programmation compilé permettant la programmation sous de multiples paradigmes, dont la programmation procédurale, la programmation orientée objet et la programmation générique. Ses bonnes performances, et sa compatibilité avec le C en font un des langages de programmation les plus utilisés dans les applications où la performance est critique. Créé initialement par Bjarne Stroustrup dans les années 1980, le langage C++ est aujourd'hui normalisé par l'ISO.
Programmation orientée objetLa programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
Is-aAn is-a relationship is when one type of object 'is a' instance of another type of object. For example, a cat 'is a' animal, but not vice versa. All cats are animals, but not all animals are cats. The concept becomes important in object oriented programing, where 'is a' relationships are often used as a way to structure code - behaviour that are is relevant to all animals is defined on an animal class, whereas behaviour that is relevant only for cats is defined in a cat class.
Interface (programmation orientée objet)En programmation orientée objet, une interface est un ensemble de signatures de méthodes publiques d'un objet. Il s'agit donc d'un ensemble de méthodes accessibles depuis l'extérieur d'une classe, par lesquelles on peut modifier un objet, ou plus généralement communiquer avec lui. Pour rappel, la différenciation entre méthodes publiques et méthodes privées introduit une abstraction qui : empêche le programmeur d'application (qui emploie une classe) de manipuler l'objet de façon indue, puisque les seules modifications possibles d'une instance sont celles indiquées comme publiques par le concepteur de la classe ; permet au programmeur de la classe, de modifier l'implémentation interne de ces méthodes de manière transparente.
Hérédité non mendélienneEn génétique, l'hérédité non mendélienne incluant l'hérédité mitochondriale ou hérédité cytoplasmique désigne la transmission héréditaire d'un trait d'un organisme à sa descendance sans altération de la séquence génétique du génome nucléaire. On emploie ce terme par opposition à l'hérédité mendélienne qui est la forme la plus connue de transmission génétique dont les lois ont notamment été découvertes par Gregor Mendel au .
Object-oriented designObject-oriented design (OOD) is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design. An object contains encapsulated data and procedures grouped together to represent an entity. The 'object interface' defines how the object can be interacted with. An object-oriented program is described by the interaction of these objects. Object-oriented design is the discipline of defining the objects and their interactions to solve a problem that was identified and documented during object-oriented analysis.
Objet (informatique)En informatique, un objet est un conteneur symbolique et autonome qui contient des informations et des mécanismes concernant un sujet, manipulés dans un programme. Le sujet est souvent quelque chose de tangible appartenant au monde réel. C'est le concept central de la programmation orientée objet (POO). En programmation orientée objet, un objet est créé à partir d'un modèle appelé classe ou prototype, dont il hérite les comportements et les caractéristiques.
Transgenerational epigenetic inheritanceTransgenerational epigenetic inheritance is the transmission of epigenetic markers and modifications from one generation to multiple subsequent generations without altering the primary structure of DNA. Thus, the regulation of genes via epigenetic mechanisms can be heritable; the amount of transcripts and proteins produced can be altered by inherited epigenetic changes. In order for epigenetic marks to be heritable, however, they must occur in the gametes in animals, but since plants lack a definitive germline and can propagate, epigenetic marks in any tissue can be heritable.
Lois de MendelLes lois de Mendel sont trois lois concernant les principes de l'hérédité biologique, énoncées par le moine et botaniste de nationalité austro-hongroise Gregor Mendel (1822-1884). La redécouverte des lois de Mendel en 1900, puis leur combinaison avec la découverte des chromosomes, considérés comme le support physique de l'hérédité, est à l'origine de la fondation de la génétique formelle au début du . À la suite de la démonstration du rôle du hasard et de l'environnement dans les phénomènes biologiques, ces lois sont aujourd'hui remises en cause par le biologiste français Jean-Jacques Kupiec.
Language interoperabilityLanguage interoperability is the capability of two different programming languages to natively interact as part of the same system and operate on the same kind of data structures. There are many ways programming languages are interoperable with one another. HTML, CSS, and JavaScript are interoperable as they are used in tandem in webpages. Some object oriented languages are interoperable thanks to their shared hosting virtual machine (e.g. .NET CLI compliant languages in the Common Language Runtime and JVM compliant languages in the Java Virtual Machine).
Méthode (informatique)En programmation orientée objet (POO), une méthode est une routine membre d'une classe. Une méthode peut être: une méthode d'instance, n'agissant que sur un seul objet (instance de la classe) à la fois; une méthode statique ou méthode de classe, indépendante de toute instance de la classe (objet). En programmation orientée objet, on utilise parfois le terme spécifique d'invocation de méthode pour désigner l'appel d'une telle fonction d'une classe.
Modèle relationnelLe modèle relationnel est une manière de modéliser les relations existantes entre plusieurs informations, et de les ordonner entre elles. Cette modélisation qui repose sur des principes mathématiques mis en avant par E.F. Codd est souvent retranscrite physiquement (« implémentée ») dans une base de données. On appelle « relation » un ensemble d'attributs qui caractérisent une proposition ou une combinaison de propositions comme "un employé a un matricule, il a un nom, il a un employeur".
Clé candidateDans le domaine des bases de données, une clé candidate est un ensemble des données permettant d'indexer chaque ligne d'une table donnée de manière différenciée. Une même base de données peut posséder plusieurs clés candidates distinctes. La clé primaire appartient nécessairement à l'ensemble des clés candidates. Une table sans lignes en doublon possède nécessairement une ou plusieurs clés candidates. Une table avec des lignes en doublon ne possède aucune clé candidate.
Ordre totalEn mathématiques, on appelle relation d'ordre total sur un ensemble E toute relation d'ordre ≤ pour laquelle deux éléments de E sont toujours comparables, c'est-à-dire que On dit alors que E est totalement ordonné par ≤. Une relation binaire ≤ sur un ensemble E est un ordre total si (pour tous éléments x, y et z de E) : x ≤ x (réflexivité) ; si x ≤ y et y ≤ x, alors x = y (antisymétrie) ; si x ≤ y et y ≤ z, alors x ≤ z (transitivité) ; x ≤ y ou y ≤ x (totalité). Les trois premières propriétés sont celles faisant de ≤ une relation d'ordre.
Ordre lexicographiqueEn mathématiques, un ordre lexicographique est un ordre que l'on définit sur les suites finies d'éléments d'un ensemble ordonné (ou, de façon équivalente, les mots construits sur un ensemble ordonné). Sa définition est une généralisation de l'ordre du dictionnaire : l'ensemble ordonné est l'alphabet, les mots sont bien des suites finies de lettres de l'alphabet. La principale propriété de l'ordre lexicographique est de conserver la totalité de l'ordre initial.
Déclaration (informatique)En programmation informatique, la déclaration permet d'indiquer au compilateur l'existence d'une entité informatique (variable, routine, etc.) , en spécifiant: son identifiant; son type de données (dans le cas d'un langage de programmation typé); l'identifiant et le type de données de chaque paramètre (dans le cas d'une routine d'un langage de programmation typé). Avec certains langages de programmation, notamment le langage C/C++, il est nécessaire de déclarer les entités informatiques avant de pouvoir les utiliser.