⇨ MENU ⇨ BIBLIOTHEQUE ⇨ classlib.bbc
PROC_inherit()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ classlib.bbc
PROC_inherit()
DESCRIPTION.
La procédure PROC_inherit() déclare et crée une nouvelle classe, enfant, qui hérite de tous les attributs et méthodes provenant d'une autre classe, parente.
SYNTAXE.
PROC_inherit( MDL_Enfant{} , MDL_Parent{} )
REMARQUES.
MDL_Parent{} doit être l'identifiant de l'instance, l'objet à détruire.
MDL_Enfant{} doit être l'identifiant de la structure de données contenant les alias des attributs et des méthodes de la nouvelle classe.
MDL_Parent{} doit être l'identifiant de l'instance, l'objet à détruire.
De même que pour la création d'une nouvelle classe avec la procédure PROC_class( ), Il faur d'abord déclarer une structure de données contenant les attributs et méthodes supplémentaires, c'est-à-dire propre à la classe enfant, qui ne seront donc pas hérités de la classe parent. DIM MDL_Enfant{ attributA , ... , attributN , methodeA , ... , methodeN }.
Si une méthode de la classe enfant, possède le même nom qu'une des méthodes de la classe parent, elle remplacera celle de la classe parent, mais devra être redéfinie. Dans l'exemple suivant, la classe MDL_Enfant{}, héritera des attributs longeur et largeur ainsi que de la méthode MTH_Decor de la classe MDL_Parent{}, mais aura aussi un nouvel attribut, hauteur, une nouvelle méthode, MTH_Volume ,et une méthode MTH_Aire différente de la classe parent et qui devra être redéfinie.
DIM MDL_Parent{ longeur , largeur , MTH_Aire , MTH_Decor }
DIM MDL_Enfant{ hauteur , MTH_Volume , MTH_Aire }
La procédure PROC_inherit() est importée depuis le module classlib.bbc.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "classlib.bbc"
REM --- Declaration de la structure de données associee aux classes ---
DIM MDL_Surface{ longeur , largeur , MTD_Aire , MTD_Decor }
DIM MDL_Volume{ hauteur , largeur , MTD_Aire , MTD_Volume }
REM --- Creation de la classe ---
PROC_class( MDL_Surface{} )
PROC_inherit( MDL_Volume{} , MDL_Surface{} )
REM --- Creation d'un nouvel objet (instance) de la classe MDL_Rectangle ---
PROC_new( OBJ_RectA{} , MDL_Surface{} )
PROC_new( OBJ_PaveA{} , MDL_Volume{} )
REM --- Fin et sortie du programme ---
END
REM --- Definition (virtuelle) des methodes ---
DEF MDL_Surface.MTD_Aire : REM --- code --- : ENDPROC
DEF MDL_Surface.MTD_Decor : REM --- code --- : ENDPROC
DEF MDL_Volume.MTD_Aire : REM --- code --- : ENDPROC
DEF MDL_Volume.MTD_Volume : REM --- code --- : ENDPROC
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.