Noem de overeenkomsten tussen klassen en modulen


  • De verschillen zijn:
    - Instanties van een generieke package worden statisch gecreëerd en instanties van een klasse worden dynamisch gecreëerd
    - Voor de procedure- en functienamen van een package geldt statische scoping; voor de methodenamen van een klasse geldt dynamische dispatch
    - Bij een generieke package kan geen sprake zijn van overerving, zoals dat bij klassen in OO-talen wel geval is.
    Instanties van een generieke package zijn geen eerste-klaswaarden en kunnen in tegenstelling tot instanties van een klasse niet als argument of resultaat van een operatie gebruiken.
    - In een package is de omgeving waarop een procedure effect heeft, volledig gefixeerd; in een objectgeorienteerde benadering wordt de omgeving waarop een methode effect heeft, bepaald door het ontvangende object.
    - Bij een generieke package is het mogelijk variabelen rechtstreeks van buitenaf toegankelijk te maken, terwijl variabelen van een object alleen via een methode toegankelijk zijn.

    De overeenkomsten zijn:
    - Zowel in een generieke package als in een klasse worden geëxporteerde functies en procedures (methoden) en verborgen variabelen (attributen) gedefinieerd.
    - Zowel van een generieke package als van een klasse kunnen instanties worden gecreëerd met hun eigen verzameling variabelen (attributen) en functies en procedures (methoden).

    Rapporteer Plaats commentaar