Eines der Werkzeuge, die wir am häufigsten verwenden, ist die Vererbung, bei der wir alle Eigenschaften und Methoden einer höheren Klasse erwerben. Was passiert jedoch, wenn eine von uns geerbte Methode dieser Klasse nicht das erfüllt, was wir wollen, denn hier kommt was ins Spiel Wir nennen die Methoden überschreiben.
Eine Methode überschreiben
Dies ist der Fall, wenn eine Unterklasse die Art und Weise ändern muss, in der eine Methode ihrer übergeordneten Klasse implementiert wurde, entweder zusätzliche Details hinzufügt oder die Methode einfach vollständig ändert. Diese Aktion unterliegt keinen Einschränkungen, obwohl dies auf der Ebene der Überlegungen der Fall ist Die überschriebene Methode entspricht dem gleichen Thema wie die ursprüngliche Methode, z. B. wenn wir eine Methode namens printAttributes () haben. und seine Funktion ist es, einige Attribute eines Objekts zu drucken. Wenn wir es überschreiben, sollten wir nicht die Berechnung eines Guthabens veranlassen, sondern wenn es etwas überschrieben wird, weil wir die Attribute ändern, die Sie drucken müssen, oder die spezifischen Attribute der Unterklasse hinzufügen.
Einige Dinge, die Sie beim Überschreiben einer Methode beachten sollten, sind die folgenden:
- Eine Methode kann nur überschrieben werden, wenn auf sie zugegriffen werden kann. Daher kann eine private Methode nicht überschrieben werden, da auf sie nicht außerhalb ihrer eigenen Klasse zugegriffen werden kann. Wenn also eine private Methode in der untergeordneten Klasse überschrieben wird, funktioniert die neue Methode nicht wirklich Es hat nichts mit der Oberklasse zu tun.
- Eine statische Methode kann auch nicht überschrieben werden. Wenn Sie also eine statische Methode in unserer Tochterklasse neu definieren, wird die Methode der übergeordneten Klasse für ihre Verwendung ausgeblendet. Sie können nur dann darauf zugreifen, wenn Sie sie direkt mit dem Namen der übergeordneten Klasse aufrufen Beispiel: Person.Static-Methode ()
Wie überschreibe ich eine Methode?
Da wir die theoretische Grundlage kennen, wollen wir uns ansehen, wie eine Methode überschrieben wird . Angenommen, wir haben diese Elternklasse:
Wie wir sehen können, haben wir ein color-Attribut und eine Methode, die die Attribute ausgibt. Nun wollen wir sehen, wie eine Tochterklasse die Methode überschreibt:
Hier sehen wir, dass wir die Methode neu definiert haben, so dass sie eine zusätzliche Linie druckt und uns den Radius zeigt. Da die Informationen der ersten Methode für uns funktionieren, haben wir beschlossen, sie mit dem Wort super aufzurufen. Unsere Methode weiß also, dass sie die Methode ihrer Klasse aufrufen muss Eltern und wenn wir eine Instanz der Klasse erstellen, wird es die Methode seiner Kreisklasse aufrufen, die überschrieben wurde.