Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ 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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse