En programmation orientée objet ou en Resource Description Framework, une propriété est un élément de description d'un objet. Un type de classe regroupe, entre autres, l'ensemble des propriétés communes à un type d'objet.
Une propriété, dans certains langages de programmation orientés objet, est une sorte de membre de classe. Il se traduit par un champ du point de vue de l'interface d'une classe, mais auquel sont adjoints une ou plusieurs méthodes, dites accesseurs et mutateurs, vouées à lire (get / accesseur) et modifier (set / mutateur) la valeur du champ de l'instance.
Le champ de la propriété peut selon le langage se traduire par un attribut, éventuellement homonyme des accesseurs (getter ou setter).
L'usage courant des propriétés est de pouvoir rajouter des instructions appliquées systématiquement au moment de la modification ou de la lecture de toute instance d'une classe sans pour autant modifier l'interface de cette classe.
Les propriétés sont également utilisées pour contrôler l’accès au champ, en rendant celui-ci private pour forcer l'usage aux accesseurs, dans lesquels des contrôles de cohérence peuvent être insérés.
Cette faculté permissive est cependant source de risques, notamment du fait qu'elle permet de modifier les valeurs d'attribut(s) lors d'opération vouée normalement à leur lecture.
class Pen {
private int m_Color; // private field
public int Color { // public property
get
{
return m_Color;
}
set
{
m_Color = value;
}
}
}
// accessing:
Pen pen = new Pen();
// ...
pen.Color = ~pen.Color; // bitwise complement ...
// another silly example:
pen.Color += 1; // a lot clearer than "pen.set_Color(pen.get_Color() + 1)"!
Les dernières versions de C# autorisent de plus les "auto-implemented properties", pour lesquelles le champ sous-jacent à la propriété est généré par le compilateur à la compilation. Ceci implique que la propriété ait un 'setter', éventuellement privé.
class Shape {
public Int32 Height { get; set; }
public Int32 Width { get; private set; }
}
C++ n'a pas de propriétés de classe, mais il existe plusieurs manières d'imiter les propriétés dans une certaine limite.
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.
Les étudiants perfectionnent leurs connaissances en Java et les mettent en pratique en réalisant un projet de taille conséquente. Ils apprennent à utiliser et à mettre en œuvre les principaux types de
L'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (
We teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. You will build a working compiler from an elegant functional language in
Objective-C est un langage de programmation orienté objet réflexif. C'est une extension du C ANSI, comme le C++, mais qui se distingue de ce dernier par sa distribution dynamique des messages, son typage faible ou fort, son typage dynamique et son chargement dynamique. Contrairement au C++, il ne permet pas l'héritage multiple mais il existe toutefois des moyens de combiner les avantages de C++ et d'Objective-C.
In computer programming, boilerplate code, or simply boilerplate, are sections of code that are repeated in multiple places with little to no variation. When using languages that are considered verbose, the programmer must write a lot of boilerplate code to accomplish only minor functionality.
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.
Couvre l'implémentation de listes liées séparément en Java, en se concentrant sur des concepts tels que les nœuds, la gestion de la taille, l'ajout, la suppression et l'obtention d'éléments.
Se concentre sur la mise en œuvre d'un vérificateur de type pour Amy, couvrant l'analyse des noms et des types, la génération de contraintes de frappe et l'importance de la vérification de type dans la compilation.
Formal verification of real-world software systems remains challenging for a number of reasons, including lack of automation, friction in specifying properties, and limited support for the diverse programming paradigms used in industry. In this thesis we m ...
The correctness of a shared object, which can be accessed by several processes concurrently, is specified through two different kinds of properties - safety and liveness. When implementing a shared object it is important to specify its correctness in a suc ...
Performance and reliability are important yet conflicting properties of systems software. Software today often crashes, has security vulnerabilities and data loss, while many techniques that could address such issues remain unused due to performance concer ...