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.
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é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).
C++11C++11, anciennement connu sous le nom de C++0x, est une norme pour le langage C++ en informatique. Elle a été approuvée unanimement le . Elle remplace la précédente norme, ISO/CEI 14882, publiée en et mise à jour en . Ces dernières sont plus connues sous les noms informels de C++98 et C++03. C++11 introduit plusieurs nouveautés au langage initial, ainsi que de nouvelles fonctionnalités à la bibliothèque standard du C++ comme la plupart des bibliothèques du Technical Report 1, à l'exception de la bibliothèque de fonctions mathématiques spéciales.
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.
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.
CompilateurEn informatique, un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau d'abstraction, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine.
Compilateur de compilateurEn informatique, un compilateur de compilateur est un programme capable de produire la totalité ou certaines parties du code source d'un compilateur (partie analyse lexicale, partie analyse syntaxique, partie analyse sémantique, partie synthèse, partie de gestion des erreurs, etc.) pour former en un tout cohérent, le code source du compilateur souhaité. Comme un compilateur classique, il accepte un langage source, par exemple une grammaire couplée à un ensemble d'actions.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Cross compilerA cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross compiler. A cross compiler is useful to compile code for multiple platforms from one development host. Direct compilation on the target platform might be infeasible, for example on embedded systems with limited computing resources. Cross compilers are distinct from source-to-source compilers.
File attributeFile attributes are a type of meta-data that describe and may modify how and/or in a behave. Typical file attributes may, for example, indicate or specify whether a file is visible, modifiable, compressed, or encrypted. The availability of most file attributes depends on support by the underlying filesystem (such as , NTFS, ext4) where attribute data must be stored along with other control structures. Each attribute can have one of two states: set and cleared. Attributes are considered distinct from other metadata, such as dates and times, s or .
Attribut (informatique)En informatique, le terme "attribut" a plusieurs significations : en programmation, les attributs sont des entités qui définissent les propriétés d'objets, d'éléments, ou de fichiers. Les attributs sont habituellement composés d'un identificateur (ou nom ou clé) et d'une valeur, en compilation les attributs sont des valeurs sémantiques assignées aux nœuds de l'arbre syntaxique. Le présent article ne traite que le premier des deux concepts.
Attributs étendusEn informatique, les attributs étendus (EA - Extended Attributes) sont une fonctionnalité du système de fichiers. On distingue en fait les attributs dits réguliers, réservés à l'usage du système de fichiers lui-même, des attributs dits étendus, qui en sont une extension. Ces derniers permettent à l'utilisateur d'un système de fichier d'associer des métadonnées, autrement dit un certain nombre d'informations supplémentaires, à un inode.
Bootstrap (compilateur)Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. un dialecte d'Algol 58, a été le premier langage à fournir un tel bootstrap.
RectangleEn géométrie, un rectangle est un quadrilatère dont les quatre angles sont droits. Un quadrilatère est un polygone (donc une figure plane) constitué de quatre points (appelés sommets) et de quatre segments (ou côtés) liant ces sommets deux à deux de manière à délimiter un contour fermé. Fichier:Six Quadrilaterals.svg|Quadrilatères. Les deux situés en haut à gauche (vert et marron) sont des rectangles. Fichier:Rectangle 2.svg|Un rectangle, ses deux diagonales et un [[angle droit]] codé.
CarréEn géométrie euclidienne, un carré est un quadrilatère convexe à quatre côtés de même longueur avec quatre angles droits. C’est donc un polygone régulier, qui est à la fois un losange, un rectangle, et par conséquent aussi un parallélogramme particulier. Dans le plan, un carré est invariant par quatre symétries axiales, par deux rotations d’angle droit et par une symétrie centrale par rapport à l’intersection de ses diagonales. Les premières représentations du carré datent de la préhistoire.
Golden rectangleIn geometry, a golden rectangle is a rectangle whose side lengths are in the golden ratio, , which is (the Greek letter phi), where is approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square from an end are golden rectangles as well. A golden rectangle can be constructed with only a straightedge and compass in four simple steps: Draw a square. Draw a line from the midpoint of one side of the square to an opposite corner.
Nombre d'orvignette|upright=1.2|La proportion définie par a et b est dite d'« extrême et moyenne raison » lorsque a est à b ce que est à a, soit : lorsque Le rapport a/b est alors égal au nombre d'or (phi). Le nombre d'or (ou section dorée, proportion dorée, ou encore divine proportion) est une proportion, définie initialement en géométrie comme l'unique rapport a/b entre deux longueurs a et b telles que le rapport de la somme a + b des deux longueurs sur la plus grande (a) soit égal à celui de la plus grande (a) sur la plus petite (b), ce qui s'écrit : avec Le découpage d'un segment en deux longueurs vérifiant cette propriété est appelé par Euclide découpage en « extrême et moyenne raison ».
Surcharge de fonctionLa surcharge de fonction (également connue sous le nom de surdéfinition, polymorphisme ad hoc ou overloading en anglais) est une possibilité offerte par certains langages de programmation de définir plusieurs fonctions ou méthodes de même nom, mais qui diffèrent par le nombre ou le type des paramètres effectifs. Le polymorphisme ad hoc ne doit pas être confondu avec le polymorphisme d'inclusion des langages à objets, permis par l'héritage de classe et la redéfinition de méthode (overriding en anglais).