Wie wird in C gekapselt?



  • Prototyp3 schrieb:

    Also in etwa so gelingt die 'Kapselung' in C. (Bei C++ - APIs sehe ich ja als Anwender immer den kompletten internen Aufbau der zur Verfügung gestellten Klassen

    Das sieht man nur dann, wenn es einen Designfehler gibt. Das von Dir für C beschriebene Design würde man in C++ anderweitig umsetzen.

    Variante eins:
    Abstract Factory mit Rückgabe eines Smart Pointers auf eine Abstract Class. Die konkreten Klassen implementiert man dann unsichtbar von Nutzer. Nur deren Konstruktionsname, -nummer o.ä. muß man bekannt machen.
    Variante zwei:
    Bridge Pattern (auch Handle/Body oder Pimpl idiom genannt)
    Hier wird eine Interface Klasse definiert und die Implementierung in einer separaten Klasse vorgenommen, die der Nutzer nicht sieht.


Anmelden zum Antworten