Objektorientiert (Schnittstelle, Polymorphismus)
Schnittstelle
(1) Wenn die Methoden in der abstrakten Klasse abstrakt sind, stellt Java eine neue Ausdrucksform bereit: Schnittstelle, bei der es sich um eine Sammlung von Funktionen handelt, die nicht erstellt werden können
(2) Format
Übergeordnete Schnittstelle: öffentliche Schnittstelle Tnter{
}
Unterklasse: öffentliche Klasse interImp implementiert Itner{
}
Verwendung von Schnittstellen
1. Schnittstellen können keine Objekte erstellen
2. Implementierungsklassen definieren, um Schnittstellen zu implementieren
Implementierungsschlüsselwörter implementieren
3. Abstrakte Methoden überschreiben
4. Erstellen Sie Implementierungsklassenobjekte und rufen Sie Methoden auf
Merkmale von Schnittstellen
1. Muss nicht durch Zusammenfassung geändert werden
2 .Eine Klasse implementiert eine Schnittstelle, die einzeln oder auf mehrere Arten implementiert werden kann
3. Eine Schnittstelle kann von einer Schnittstelle entweder einzeln oder auf mehrere Arten erben
4. Die Funktionen einer Schnittstelle und einer übergeordneten Klasse können wiederholt werden, Das bedeutet, dass sie bestimmte Funktionen haben müssen.
Member-Eigenschaften von Schnittstellen
Member-Variablen, statische Konstanten
Fester Modifikator public static final
Unabhängig davon, ob dieser Modifikator geschrieben ist oder nicht bleibt unverändert
Member-Methode
Fester Modifikator öffentliche Zusammenfassung
Ob geschrieben oder nicht, dieser Modifikator bleibt unverändert
Abstrakte Klasse und Unterschiede in Schnittstellen
1. Unterschiede in den Mitgliedern
Abstrakte Klasse:
Mitgliedsvariablen: Können Variablen oder Konstanten sein
Konstruktor: Es gibt einen Konstruktor für die Instanziierung von Unterklassen. Verwenden Sie die Mitgliedsmethode
: Das kann abstrakt oder nicht abstrakt sein
Schnittstelle:
Mitgliedsvariable: kann nur eine Konstante sein
Standardmodifikator: öffentliches statisches Finale
Mitgliedsmethode: Kann nur abstrakt sein
Standardmodifikator: öffentliche Zusammenfassung
Empfehlung: Bitte geben Sie den Standardmodifikator immer manuell ein
2. Der Unterschied zwischen Klassen und Schnittstellen
Klassen und Klassen:
Vererbungsbeziehung, nur Einzelvererbung ist möglich, mehrstufige Vererbung ist möglich
Klassen und Schnittstellen:
Implementierungsbeziehung, einzelne Implementierung oder mehrere Implementierungen sind möglich
Klasse auch Sie können eine Klasse erben und mehrere Schnittstellen gleichzeitig implementieren
Schnittstelle und Schnittstelle:
Vererbungsbeziehung, Sie können Einzelvererbung oder Mehrfachvererbung haben
3 Die verkörperten Konzepte sind unterschiedlich
Was ist in definiert Abstrakte Klassen sind gemeinsame Inhalte in einem Vererbungssystem.
Schnittstellen sind eine Sammlung von Funktionen, zusätzlichen Funktionen eines Systems und offengelegten Regeln.
Alles wird überall dort verwendet, wo die übergeordnete Klasse/Schnittstelle verweist, ihre Unterklasse /implementation-Klassenobjekt kann übergeben werden in
Polymorphismus
Dasselbe Objekt kann zu unterschiedlichen Zeiten reflektiert werden. Verschiedene Zustände
Beispiel: Wasser (Wasser, Eis, Wasserdampf)
Katze (Katze, Tier)
Voraussetzung:
A: Es besteht eine Vererbungs- oder Implementierungsbeziehung
B: Es gibt Methoden Umschreiben
C: Eine Referenz aus der übergeordneten Klasse zeigt auf das Unterklassenobjekt
Merkmale der Verwendung von Mitgliedern im Polymorphismus
Fu fz=new Zi();
Wenn polymorph, sind alle Ausdrücke die übergeordnete Klasse. Die Ausdrucksform
ist nur vorhanden, wenn eine Methode aufgerufen wird , die von der Unterklasse neu geschriebene Methode wird ausgeführt
1. Mitgliedsvariablen
Kompilieren und links sehen Links und laufen. Schauen Sie nach rechts
1 class Fu{ 2 int num=4; 3 void show(){ 4 system.out.println("showFu") 5 } 6 7 } 8 class Zi extends Fu{ 9 10 int num=5;11 void show(){12 system.out.println("showZi");13 }14 }15 class T{16 public static void main(String args[]){17 Fu f=new Zi();18 system.out.println(f.num);19 f.show();20 }21 }
1. Aufwärtstransformation Weisen Sie die zu Unterklassenobjekt auf Die Referenz der übergeordneten Klasse (Schnittstelle) wird automatisch zum Typ heraufgestuft
int a=0; double b=a;
Fu fz=new Zi();
2. Downcast
zu Die Referenz der übergeordneten Klasse (Schnittstelle) wird in ein Unterklassenobjekt umgewandelt
double b=10.0;
int a=(int)b;
Fu fz=new Zi();
Zi zi=(Zi )fz;
Hinweis: Fu fu=new Fu() kann nicht abwärts konvertiert werden und meldet eine ClassCastException-Typkonvertierungsausnahme
1. Vorteile Verbessert die Wartbarkeit und Skalierbarkeit des Programms
2. Nachteile
Unterklassenspezifischer Inhalt kann nicht angewendet werden
Wenn Sie ihn verwenden möchten, müssen Sie das Unterklassenobjekt entweder herabsetzen oder neu erstellen
Drei Formen des Polymorphismus
1. Polymorphismus der konkreten Klasse, Name der Variablen der übergeordneten Klasse = neue Unterklasse () 2. Polymorphismus der abstrakten Klasse, Name der übergeordneten Variablen der abstrakten Klasse = neue Unterklasse ()
3. Schnittstellenpolymorphismus Schnittstellenvariablenname = neue Implementierungsklasse ()
Instanz des Schlüsselworts
Format: Objektname, Instanz des Klassennamens Rückgabewert: wahr, falsch
Funktion : Bestimmen Sie, ob das angegebene Objekt ein von einer bestimmten Klasse erstelltes Objekt ist
Animal a1=new Cat();
Animal a2=new Dog();
method(a1)
public static void method(Animal a){
if(a instanceof Cat){
Cat-spezifische Methode aufrufen
}
}
Das obige ist der detaillierte Inhalt vonObjektorientiert (Schnittstelle, Polymorphismus). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Obwohl der Installationsprozess einfach ist, stoßen Benutzer beim Zusammenbau des Computers häufig auf Probleme mit der Verkabelung. Obwohl sich der Lüfter drehen kann, funktioniert er beim Booten möglicherweise nicht. Es kommt zu einem F1-Fehler „CPUFanError“, der auch dazu führt, dass der CPU-Kühler die Geschwindigkeit nicht intelligent anpassen kann. Lassen Sie uns das allgemeine Wissen über die Schnittstellen CPU_FAN, SYS_FAN, CHA_FAN und CPU_OPT auf der Hauptplatine des Computers teilen. Populäre Wissenschaft über die Schnittstellen CPU_FAN, SYS_FAN, CHA_FAN und CPU_OPT auf der Hauptplatine des Computers 1. CPU_FANCPU_FAN ist eine dedizierte Schnittstelle für den CPU-Kühler und arbeitet mit 12 V

Als moderne und effiziente Programmiersprache verfügt die Go-Sprache über umfangreiche Programmierparadigmen und Entwurfsmuster, die Entwicklern beim Schreiben von qualitativ hochwertigem, wartbarem Code helfen können. In diesem Artikel werden gängige Programmierparadigmen und Entwurfsmuster in der Go-Sprache vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Objektorientierte Programmierung In der Go-Sprache können Sie Strukturen und Methoden verwenden, um objektorientierte Programmierung zu implementieren. Durch die Definition einer Struktur und das Binden von Methoden an die Struktur können die objektorientierten Funktionen der Datenkapselung und Verhaltensbindung erreicht werden. Paketmaini

Virtuelle Basisklassen optimieren den Speicheraufwand für virtuelle Tabellen, indem sie die Vererbung von mehreren Basisklassen ermöglichen, ohne zusätzliche virtuelle Tabellen zu erstellen. Im optimierten Code verfügt die Formbasisklasse nicht mehr über eine virtuelle Funktionstabelle, und die Kreis- und Rechteckklassen teilen sich dieselbe virtuelle Funktionstabelle, wodurch der Speicherverbrauch reduziert wird.

So konvertieren Sie ein MySQL-Abfrageergebnis-Array in ein Objekt: Erstellen Sie ein leeres Objekt-Array. Durchlaufen Sie das resultierende Array und erstellen Sie für jede Zeile ein neues Objekt. Verwenden Sie eine foreach-Schleife, um die Schlüssel-Wert-Paare jeder Zeile den entsprechenden Eigenschaften des neuen Objekts zuzuweisen. Fügt dem Objektarray ein neues Objekt hinzu. Schließen Sie die Datenbankverbindung.

Einführung in die PHP-Schnittstelle und wie sie definiert ist. PHP ist eine in der Webentwicklung weit verbreitete Open-Source-Skriptsprache. Sie ist flexibel, einfach und leistungsstark. In PHP ist eine Schnittstelle ein Werkzeug, das gemeinsame Methoden zwischen mehreren Klassen definiert, um Polymorphismus zu erreichen und Code flexibler und wiederverwendbar zu machen. In diesem Artikel werden das Konzept von PHP-Schnittstellen und deren Definition vorgestellt und spezifische Codebeispiele zur Veranschaulichung ihrer Verwendung bereitgestellt. 1. PHP-Schnittstellenkonzept Die Schnittstelle spielt eine wichtige Rolle in der objektorientierten Programmierung und definiert die Klassenanwendung

Der Grund für den Fehler liegt in Python. Der Grund, warum NotImplementedError() in Tornado ausgelöst wird, kann darin liegen, dass eine abstrakte Methode oder Schnittstelle nicht implementiert ist. Diese Methoden oder Schnittstellen werden in der übergeordneten Klasse deklariert, aber nicht in der untergeordneten Klasse implementiert. Unterklassen müssen diese Methoden oder Schnittstellen implementieren, um ordnungsgemäß zu funktionieren. Die Lösung dieses Problems besteht darin, die von der übergeordneten Klasse deklarierte abstrakte Methode oder Schnittstelle in der untergeordneten Klasse zu implementieren. Wenn Sie eine Klasse verwenden, um von einer anderen Klasse zu erben, und dieser Fehler angezeigt wird, sollten Sie alle in der übergeordneten Klasse deklarierten abstrakten Methoden in der untergeordneten Klasse implementieren. Wenn Sie eine Schnittstelle verwenden und dieser Fehler angezeigt wird, sollten Sie alle in der Schnittstelle deklarierten Methoden in der Klasse implementieren, die die Schnittstelle implementiert. Wenn Sie sich nicht sicher sind, welches

In PHP ist ein Array eine geordnete Sequenz, und auf Elemente wird über einen Index zugegriffen. Ein Objekt ist eine Entität mit Eigenschaften und Methoden, die über das Schlüsselwort new erstellt werden. Der Array-Zugriff erfolgt über einen Index, der Objektzugriff über Eigenschaften/Methoden. Es werden Array-Werte und Objektreferenzen übergeben.

Das Request-Objekt in PHP ist ein Objekt, das zur Verarbeitung von HTTP-Anfragen verwendet wird, die vom Client an den Server gesendet werden. Über das Request-Objekt können wir die Anforderungsinformationen des Clients abrufen, z. B. die Anforderungsmethode, die Anforderungsheaderinformationen, die Anforderungsparameter usw., um die Anforderung zu verarbeiten und zu beantworten. In PHP können Sie globale Variablen wie $_REQUEST, $_GET, $_POST usw. verwenden, um angeforderte Informationen zu erhalten, aber diese Variablen sind keine Objekte, sondern Arrays. Um Anfrageinformationen flexibler und bequemer bearbeiten zu können, können Sie dies tun
