Wie funktioniert Vererbung Arbeit in C ++?

ichnheritance in C ++ die Fähigkeit einer Klasse Fähigkeiten oder Eigenschaften von einer anderen Klasse zu erben. Vererbung ist ein gemeinsames Konzept. Sie erben bestimmte Eigenschaften aus der Klasse Mensch, (Mehr oder weniger) intelligent und auf Luft, Wasser meine Abhängigkeit zu sprechen, und Kohlenhydrat-basierte Nahrung wie meine Fähigkeit (ein wenig zu abhängig von der letzteren).

Diese Eigenschaften sind nicht einzigartig für den Menschen. Die Klasse Mensch erbt die Abhängigkeiten von Luft, Wasser und Nahrung aus der Klasse Säugetier, die es geerbt aus der Klasse Tier.

Die Fähigkeit von Eigenschaften durch die Über ist ein leistungsfähiges ein. Es ermöglicht Ihnen, die Dinge auf wirtschaftliche Weise zu beschreiben. Zum Beispiel, wenn jemand fragt, # 147-Was ist eine Ente? # 148- Man kann sagen, # 147-Es ist ein Vogel, der Quack geht # 148.

Trotz allem, was Sie vielleicht denken, vermittelt diese Antwort eine beträchtliche Menge an Informationen. Er weiß, was ein Vogel ist, und jetzt ist er kennt alle die gleichen Dinge über eine Ente und die Ente den zusätzlichen Eigenschaft # 147-quackness # 148.

Die objektorientierte (OO) Sprachen ausdrücken diese Vererbungsbeziehung, indem sie eine Klasse von einem anderen zu erben. OO-Sprachen können ein Modell erzeugen, die in der realen Welt näher ist (denken Sie daran, dass der realen Welt stuff!) Als das Modell von Sprachen generiert, die Erbschaft nicht unterstützen.

C ++ ermöglicht eine Klasse eine andere Klasse zu erben, wie folgt:

Klasse Schüler {} - Klasse Graduatestudent: public Studenten {} -

Hier ein Graduatestudent erbt alle Mitglieder Schüler. Somit wird ein Graduatestudent IST EIN Schüler. (Die Aktivierung von IS_A unterstreicht die Bedeutung dieser Beziehung.) Natürlich, Graduatestudent kann auch andere Elemente enthalten, die eine eindeutig sind Graduatestudent.

Vererbung wurde aus mehreren Gründen in C ++ eingeführt. Natürlich ist der Hauptgrund, die Fähigkeit, die Vererbungsbeziehung auszudrücken. Ein kleinerer Grund ist die Menge der Typisierung zu reduzieren.

Angenommen, Sie haben eine Klasse Schüler, und Sie aufgefordert werden, eine neue Klasse hinzuzufügen, genannt Graduatestudent. Vererbung kann drastisch die Anzahl der Dinge, reduzieren Sie haben in der Klasse zu setzen. Alles, was Sie wirklich in der Klasse Graduatestudent sind Dinge, die die Unterschiede zwischen den Schülern und Studenten zu beschreiben.

Ein weiterer Nebeneffekt hat mit Software-Änderung zu tun. Angenommen, Sie von einer vorhandenen Klasse erben. Später finden Sie, dass die Basisklasse nicht genau das tun, was die Unterklasse benötigt. Oder vielleicht hat die Klasse einen Fehler.

die Basisklasse ändern könnten andere Code brechen, dass die Basis-Klasse verwendet. Erstellen und eine neue Unterklasse verwenden, die die falsche Funktion mit einer korrigierten Version Überlastungen Ihr Problem löst, ohne dass jemand anderes weitere Probleme zu verursachen.

Menü