In diesem Abschnitt gibt es viele Inhalte und die Videodatei ist größer als 4 Mio. Bitte warten Sie etwas länger.
Es gibt viele Inhalte in diesem Abschnitt Allein in der Vererbung werde ich die Gelegenheit nutzen, um alle vorherigen Dinge zu nutzen, was als Überprüfung gilt. Einige Dinge in diesem Abschnitt werden immer wieder zwei- oder dreimal erklärt. Der Zweck besteht darin, dass jeder es kann Beherrsche sie. Das ist das Wichtigste! ! Wenn Sie sich über den Inhalt der Rezension in diesem Abschnitt nicht sicher sind, lesen Sie bitte die vorherigen relevanten Kapitel! !
Als nächstes sprechen wir über Vererbung. Um die Vererbung zu verstehen, müssen wir zunächst wissen, warum Vererbung erforderlich ist.
Angenommen, eine Klasse, die wir für das Nachrichtensystem erstellt haben, verfügt bereits über Datenbankverbindungen, Initialisierung und Funktionen wie Abfragen, Hinzufügen, Löschen, Ändern usw .!
Dann müssen wir auf jeden Fall verschiedene Abfragen, Änderungen usw. durchführen. Beispielsweise müssen sowohl die Nachrichtenspalte als auch die Benutzerverwaltung die zuvor erwähnten Klassen verwenden, der Unterschied besteht jedoch darin, dass sie unterschiedliche Ergebnisse erfordern. was zu tun? Es gibt zwei Möglichkeiten, Klassen für sie zu erstellen und die Datenbankverbindungsklasse zweimal zu kopieren. Dann können wir auch häufig Mitglieder der Datenbankklasse aufrufen Wenn das passiert, wäre unser Code nicht sehr aufgebläht? Wissen Sie, warum Abnehmpillen so beliebt sind?
Deprimiert, was soll ich tun? Ganz einfach, wir verwenden die Vererbung, um die Vererbung kurz zu beschreiben. Die Unterklasse (abgeleitete Klasse) weist alle Merkmale der übergeordneten Klasse (Basisklasse) auf und verfügt gleichzeitig über ihre eigenen Merkmale. Ich denke, das sollte es klarstellen!
Hinweis: Die .Net-Vererbung ermöglicht nur die direkte Vererbung von einer anderen Klasse und kann nicht mehrere Klassen gleichzeitig erben. Es scheint, dass es nur einen Vater geben kann (eigentlich ist dies nicht absolut, haha, es ist wirklich interessant, über Microsoft nachzudenken). Wir können immer noch Schnittstellen verwenden, um eine Mehrfachvererbung zu implementieren, aber eine mehrstufige Vererbung ist möglich. Beispielsweise kann es oben einen Vater und einen Großvater und unten einen Sohn und einen Enkel geben.
Werfen wir einen Blick auf etwas Intuitives:
Wenn wir uns das Bild oben ansehen, werden wir feststellen, dass die unteren Ebenen spezifischer sind. Dann können wir verstehen, dass der Mensch die Basisklasse (übergeordnete Klasse) aller Klassen ist und die folgenden abgeleiteten Klassen (Unterklassen) sind. Tatsächlich können unsere folgenden Unterkategorien nach unten erweitert werden.
In C# erbt eine abgeleitete Klasse Mitglieder von ihrer direkten Basisklasse: Methoden, Felder, Eigenschaften, Ereignisse und Indexindikatoren. Eine abgeleitete Klasse erbt implizit alle Mitglieder der direkten Basisklasse mit Ausnahme von Konstruktoren und Destruktoren.
2. Die Vererbung in C# entspricht den folgenden Regeln:
(Dies ist keine Zusammenfassung von mir, ich bin online gegangen und habe sie von jemand anderem kopiert. Haha!!)
1. Vererbung ist transitiv. Wenn C von B abgeleitet ist und B von A abgeleitet ist, erbt C nicht nur die in B deklarierten Mitglieder, sondern auch die Mitglieder in A. Die Object-Klasse dient als Basisklasse für alle Klassen.
2. Abgeleitete Klassen sollten Erweiterungen von Basisklassen sein. Eine abgeleitete Klasse kann neue Mitglieder hinzufügen, aber die Definitionen geerbter Mitglieder nicht entfernen.
3. Konstruktoren und Destruktoren können nicht vererbt werden. Darüber hinaus können andere Mitglieder unabhängig von den für sie definierten Zugriffsmethoden vererbt werden. Die Art und Weise, wie auf Mitglieder in der Basisklasse zugegriffen wird, kann nur bestimmen, ob abgeleitete Klassen auf sie zugreifen können.
4. Wenn eine abgeleitete Klasse ein neues Mitglied mit demselben Namen wie ein geerbtes Mitglied definiert, kann sie das geerbte Mitglied überschreiben. Dies bedeutet jedoch nicht, dass die abgeleitete Klasse diese Mitglieder gelöscht hat, sondern nur, dass auf diese Mitglieder nicht mehr zugegriffen werden kann. (Es ist zu beachten, dass es sich nicht um eine Überschreibung, sondern um eine Überladung handelt, wenn ein Attribut oder eine Methode denselben Namen, aber eine andere Signatur hat.)
5. Eine Klasse kann virtuelle Methoden, virtuelle Attribute und virtuelle Indexindikatoren sowie deren Ableitung definieren Klassen können diese Mitglieder überladen, sodass implementierende Klassen Polymorphismus aufweisen können.
6. Abgeleitete Klassen können nur von einer Klasse erben, und über Schnittstellen kann eine Mehrfachvererbung erreicht werden.
In einer Unterklasse können wir über das Schlüsselwort „base“ auf Mitglieder der Basisklasse zugreifen:
Rufen Sie Methoden der Basisklasse auf, die von anderen Methoden überschrieben wurden.
Gibt den Basisklassenkonstruktor an, der beim Erstellen einer Instanz einer abgeleiteten Klasse aufgerufen werden soll.
Der Zugriff auf Basisklassen ist nur in Konstruktoren, Instanzmethoden oder Instanzeigenschaften-Accessoren möglich.
Es ist ein Fehler, das Basisschlüsselwort einer statischen Methode zu verwenden.
Überarbeiten von Zugriffsmodifikatoren
Zugriffsmodifikatoren sind Schlüsselwörter, die die Zugänglichkeit eines deklarierten Mitglieds oder Typs angeben. Bei der Klassenvererbung gibt es vier Zugriffsmodifikatoren: öffentlich, geschützt, intern, privat. Verwenden Sie diese Zugriffsmodifikatoren, um die folgenden fünf Zugriffsebenen anzugeben: öffentlich, geschützt, intern, intern, geschützt, privat.
Deklarierte Bedeutung der Barrierefreiheit
Der öffentliche Zugang ist uneingeschränkt möglich.
Der geschützte Zugriff ist auf die enthaltende Klasse oder die von der enthaltenden Klasse abgeleiteten Typen beschränkt.
Der interne Zugriff ist auf das aktuelle Projekt beschränkt.
Der geschützte interne Zugriff ist auf das aktuelle Element oder den aktuellen Typ beschränkt, der von der enthaltenden Klasse abgeleitet ist.
Der private Zugriff ist auf den enthaltenden Typ beschränkt.
Schauen wir uns unten ein Beispiel an, bleiben wir beim Thema Menschen.
Alle Codes finden Sie in den Kommentaren!!