Next: La classe Object Up: Classes Previous: Classes

Héritage

Les définitions de classes sont additives, chaque nouvelle classe que vous définissez est basée sur une autre classe, à travers laquelle elle hérite de méthodes et de variables d'instance. La nouvelle classe ne fait qu'ajouter ou transformer ce qu'elle hérite. Il n'est pas nécessaire de dupliquer le code hérité.

L'ensemble de ces liens d'héritage relie les classes dans un arbre généalogique où la classe Object est à la racine. Toute classe (sauf Objet) a une super-classe juste au dessus, et toute classe peut être la super-classe d'un nombre quelconque de sous-classes. Exemple Figure 3.

Figure 3. Classes du Kit Graphique

Ce schéma montre que Matrix est une sous-classe de Control, elle même sous-classe de View, View sous-classe de Responder, et Responder sous-classe d'Object. L'héritage est cumulatif. Ainsi Matrix a des méthodes et des variables d'instances définies dans Control, View, Responder, et Object. Ainsi que ceux spécialement défini pour Matrix. Tous cela pour dire qu'un objet Matrix est aussi un objet Control,View, Responder, et un objet Object.

Toute classe (sauf Object) peut être vue comme un spécialisation ou adaptation d'une autre classe. Les sous-classes successive transforme ce qui est au total hérité. La classe Matrix ne défini que ce qui est nécessaire pour transformer un Control en Matrix.

Quand vous définissez une classe, elle est reliée à la hiérarchie de classe par la simple déclaration de sa super-classe (sauf si vous définissez une nouvelle classe racine!). Un grand nombre de super classes sont disponibles. [Sous NeXTSTEP l'environnement de développement fournit la classe Objet et plus d'une centaine de classes. Certaines utilisable tel quel, d'autre qui peuvent être adaptées à vos besoins, en définissant une sous-classe. Certaines classes du Kit définissent tous vos besoins; D'autres sont écrites pour être utilisées comme super classes. Ainsi des classes très complexes pourrons êtres définies en écrivant très peu de code.]

Next: La classe Object Up: Classes Previous: Classes

Dominique REVUZ
Vendredi 21 février 1997 17:27:12
Une Bug Un mail Merci