Heim > Backend-Entwicklung > PHP-Tutorial > Lernen Sie PHP beim Auswendiglernen – (13) Objektorientierte Programmierung 3

Lernen Sie PHP beim Auswendiglernen – (13) Objektorientierte Programmierung 3

WBOY
Freigeben: 2016-08-08 09:32:29
Original
841 Leute haben es durchsucht

2.3 Mitgliedsmethoden (Funktionen)

Ich verstehe, dass Mitgliedsmethoden speziell bestimmte Funktionen dieser Klasse ausführen sollen oder was diese Klasse tun kann. Sie unterscheidet sich nicht von einer Funktion außerhalb der Klasse, sie wird lediglich innerhalb der Klasse deklariert. Wenn Sie es verwenden, müssen Sie das Klassenobjekt der Instanz verwenden, um es aufzurufen.

In ähnlicher Weise können Mitgliedsmethoden auch durch Berechtigungsmodifikatoren, privat, geschützt und öffentlich, geändert werden. Wenn sie mit Modifikatoren geändert werden, sind ihre Nutzungsrechte dieselben wie die von Mitgliedsattributen. Wenn der Nutzungsberechtigungsmodifikator nicht angezeigt wird, ist er standardmäßig öffentlich. Im Allgemeinen werden Mitgliedsmethoden als öffentlich deklariert, um Objektaufrufe zum Bedienen privater Eigenschaften in der Klasse zu erleichtern.

Ich werde hier keine konkreten Beispiele nennen.

2.4 letztes Schlüsselwort

Ich habe bereits drei Schlüsselwörter angesprochen, this, static und const. Auch das letzte Schlüsselwort wird häufig verwendet.

Die durch das Schlüsselwort final geänderten Klassen und Methoden sind die „endgültigen Klassen und Methoden“. Das heißt, durch final geänderte Klassen können nicht vererbt werden, durch final geänderte Methoden können nicht überschrieben werden und durch final geänderte Eigenschaften können nicht geändert werden.

Das letzte Schlüsselwort wird vor den Klassen- und Funktionsschlüsselwörtern geschrieben.

wie Abschlussklasse MyClass{

//…

}

final function MyFunction(){

//…

}

3 , Vererbung von Klassen

3.1 Vererbung von Klassen

So wie wir das Eigentum unserer Eltern erben können, können auch Klassen vererbt werden. Nach Verwendung der Klassenvererbung wird die geerbte Klasse als übergeordnete Klasse oder Basisklasse und die geerbte Klasse als Unterklasse oder abgeleitete Klasse bezeichnet. Unterklassen können alle Eigenschaften und Methoden der übergeordneten Klasse erben und bei Bedarf Methoden überschreiben, die in der übergeordneten Klasse nicht finalisiert wurden. Die Klassenvererbung verwendet das Schlüsselwort :extends. Denken Sie jedoch daran, dass es sich bei PHP um eine Einzelvererbung handelt, was bedeutet, dass eine Klasse nur eine Klasse und nicht mehrere Klassen gleichzeitig erben kann, was sich von C++ unterscheidet.

Warum Klassenvererbung verwenden?

Was ich verstehe ist, dass einige Dinge zur gleichen Kategorie gehören und gemeinsame Attribute oder Methoden haben, aber sie selbst haben neue Attribute oder Methoden. Wenn ich sie also verwende, ist es völlig unnötig, sie zu schreiben Jedes Mal derselbe Code. Ich könnte also genauso gut ihre gemeinsamen Dinge in eine Basisklasse packen, ihre verschiedenen Dinge trennen und dann die Basisklasse erben. Um ein ganz einfaches Beispiel zu nennen: Wir können sowohl Adler als auch Tiger als Tiere bezeichnen. Sie haben beide Augen und Münder und andere Organe, und beide können essen. Das ist es, was sie beide gemeinsam haben, aber der Adler kann fliegen und der Tiger kann rennen. Das ist ihr Unterschied. Dann kann ich eine Tierklasse, Klasse, deklarieren animal{} fügt hier die gleichen ein, und die anderen erbe ich und füge neue Methoden hinzu. Natürlich kann ich sie auch einzeln schreiben, ohne sie zu vererben, aber ich habe hier nur zwei bestimmte Tiere zitiert. Muss ich sie dann einzeln schreiben? Es ist nicht erforderlich, dass sie etwas gemeinsam haben. Als weiteres Beispiel muss das Zend-Framework, das ich mir kürzlich angesehen habe, viele Tabellenmodelle deklarieren. Wenn sie diese nicht erben, müssen viele der darin enthaltenen Methoden selbst neu geschrieben werden geschrieben werden, und zweitens sind sie unnötig, daher ist die Vererbung immer noch sehr wichtig.

class Animal{
	protected $eyes;
	protected $mouth;
	//...
	public function eat(){
		//...
	}
}
class Tiger extends Animal{
	public function run(){
		//...
	}
}
class Eagle extends Animal{
	public function fly(){
		//...
	}
}
Nach dem Login kopieren
Denken Sie nicht, dass diese Methode die einzige ist, die in der Unterklasse deklariert ist. Sie verfügt tatsächlich über alle Methoden und Attribute in der übergeordneten Klasse. Und Sie können nicht privat deklarierte Eigenschaften und Methoden verwenden.

3.2 Abstrakte Klasse

Eine abstrakte Klasse ist eine Klasse, die nicht instanziiert werden kann. Das heißt, wenn ich eine abstrakte Klasse deklariere, kann ich keine neue erstellen später. Sie kann nur als übergeordnete Klasse anderer Klassen verwendet werden. Es wird mit dem Schlüsselwort abstract deklariert:

abstract class MyClass{
//...
}
Nach dem Login kopieren
Die abstrakte Klasse enthält mindestens eine abstrakte Methode, und die abstrakte Methode wird auch mit dem Schlüsselwort abstract deklariert, z. B.:

abstract function FunctionName(各种参数);
Nach dem Login kopieren
Auf abstrakte Methoden muss ein „;“ folgen. Abstrakte Methoden können nicht in abstrakten Klassen implementiert werden, das heißt, es gibt keinen Funktionskörper, sondern nur eine Deklaration. Seine Funktionalität kann nur in Unterklassen erreicht werden.

Hinweis hier: Abstrakte Klassen können gewöhnliche Methoden enthalten, nicht unbedingt abstrakte Methoden, müssen aber mindestens eine abstrakte Methode enthalten.

An diesem Punkt ist die Objektorientierung grundsätzlich abgeschlossen. Es gibt auch die Verwendung der Schnittstelle, ich werde das schreiben, wenn ich es brauche. Der nächste Artikel beginnt mit dem Schreiben der Operationen der MySql-Datenbank.

Das Obige ist eine Einführung in das Erlernen von PHP beim Auswendiglernen – (13) Objektorientierte Programmierung 3, einschließlich verschiedener Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage