Objektorientiertes Design in C ++ mit Kristoffer Hebert
Was sind Kapselung, Vererbung und Polymorphismus?
Kapselung
Eine Klasse im objektorientierten Design ist ein Container für Daten und Methoden. Klassen verwenden die Kapselung, um den Zugriff auf Attribute wie Methoden und Daten zu verwalten, die in sich selbst enthalten sind. In der C ++ – Sprache wird die Kapselung in Klassen mit Attributen wie public , private , protected und static erreicht. Öffentliche Klassenattribute sind überall zugänglich. Private Klassenattribute sind nur für Klassenmethoden in sich selbst zugänglich. Geschützte Attribute sind für sich selbst und untergeordnete Klassen von sich selbst zugänglich. Statische Attribute sind nur für die übergeordnete Klasse verfügbar, nicht jedoch für das konstruierte Objekt.
Vererbung
Vererbung im objektorientierten Design beschreibt die Beziehung zwischen übergeordneten Klassen, wenn sie untergeordnete Klassen erweitern. Extend bedeutet, dass eine Klasse Attribute einer anderen Klasse überschreibt oder von dieser erbt. Im bereitgestellten Codebeispiel können Sie sehen, dass die untergeordnete Klasse jedes Attribut der übergeordneten Klasse erbt. Die untergeordnete Klasse überschreibt den FirstName-Wert im Konstruktoraufruf. Dies ist, wie Sie die Namen bekommen, Tom Sawyer und Suzy Sawyer.
Klassenvererbung Codebeispiel
Polymorphismus
Polymorphismus beschreibt die Eins-zu-Viele-Klassenbeziehung im objektorientierten Design. Eine übergeordnete Klasse kann mehrere untergeordnete Klassen haben, die Eigenschaften erben und überschreiben. Die Transportklasse verfügt über zwei Klassen, die sie erweitern, Plane und SailBoat , wobei die geschützten Attribute und die showDetails-Methode überschrieben werden.
Zu merkende Schlüssel
Klassen sind Container mit Attributen, die als Daten und Methoden bezeichnet werden. Klassen verwenden Kapselung, um den Zugriff auf diese Attribute zu verwalten. In C ++ können Klassenattribute über private, statische, öffentliche und geschützte Klassenattributmodifikatoren verwaltet werden. Klassen erben die Attribute der Klassen, die sie erweitern. Darüber hinaus können Klassen Attribute der von ihnen erweiterten Klassen überschreiben. Übergeordnete Klassen können mehrere untergeordnete Klassen haben.