Heim > php教程 > php手册 > Hauptteil

1.1 Objektorientiert

WBOY
Freigeben: 2016-08-20 08:47:36
Original
1041 Leute haben es durchsucht

Objektorientiert ist eine Programmieridee, die nichts mit bestimmten Sprachen zu tun hat. C, Java, JavaScript und PHP können alle objektorientierte Entwicklung mit ihren eigenen Stilen durchführen

Eine Klasse ist eine Zusammenfassung der Attribute und Verhaltensweisen einer Art von Sache. Zunächst müssen wir darüber nachdenken, was passieren würde, wenn es keine Klassen gäbe. Angenommen, wir möchten ein gewöhnliches Fahrrad darstellen, denken wir über die Anzahl der Räder, 2, und den Preis nach ... Dann möchten wir ein Fahrrad darstellen, das ein Kind fahren kann, und wir werden über die Anzahl der Räder nachdenken, 4 und der Preis ... Solange es ein Fahrrad gibt, werden wir alle darüber nachdenken, was es haben sollte. Das Attribut „Anzahl der Räder“ wird auch das Attribut „Preis“ haben ... wie viele Typen Bei vielen Fahrrädern müssen wir darüber nachdenken, welche Eigenschaften sie haben und wie viele Funktionen sie haben

<strong>array</strong>(<strong>'</strong><strong>名字</strong><strong>'</strong>=><strong>'</strong><strong>普通自行车</strong><strong>'</strong>,<strong>'</strong><strong>轮子数量</strong><strong>'</strong>=>2,<strong>'</strong><strong>价格</strong><strong>'</strong>=><strong>'...'</strong>);<br>
<strong>array</strong>(<strong>'</strong><strong>名字</strong><strong>'</strong>=><strong>'</strong><strong>儿童自行车</strong><strong>'</strong>,<strong>'</strong><strong>轮子数量</strong><strong>'</strong>=>4,<strong>'</strong><strong>价格</strong><strong>'</strong>=><strong>'...'</strong>);
Nach dem Login kopieren

Was ist, wenn wir Kurse haben? Nehmen wir an, wir haben einen Fahrradkurs:

<strong>class </strong>自行车{<br>
    <strong>public </strong><strong>$</strong><strong>名字</strong>;<br>
    <strong>public </strong><strong>$</strong><strong>轮子数量</strong>;<br>
    <strong>public </strong><strong>$</strong><strong>价格</strong>;<br>
    <strong>public function </strong>骑(){<br>
        <strong>echo </strong><strong>'</strong><strong>骑</strong><strong>'</strong>.$this-><strong>名字</strong>;<br>
    }<br>
}
Nach dem Login kopieren
Solange es sich um ein Fahrrad handelt, müssen Sie zunächst nicht über seine Attribute und Funktionen nachdenken. Die Attribute wurden direkt in die Klasse geschrieben, und die Funktionen sind ebenfalls vorhanden. Sie müssen nicht einzeln darüber nachdenken

$自行车对象1=<strong>new </strong>自行车();<br>
$自行车对象1-><strong>名字</strong>=<strong>'</strong><strong>普通自行车</strong><strong>'</strong>;<br>
$自行车对象1-><strong>轮子数量</strong>=2;<br>
<br>
$自行车对象2=<strong>new </strong>自行车();<br>
$自行车对象2-><strong>名字</strong>=<strong>'</strong><strong>儿童自行车</strong><strong>'</strong>;<br>
$自行车对象2-><strong>轮子数量</strong>=4;
Nach dem Login kopieren
Hier fühlt sich die Klasse eher wie eine Einschränkung oder Vorschrift an, die die Attribute und Funktionen festlegt, die alle Fahrräder haben werden. Es ist unmöglich zu sagen, dass nach der Instanziierung der Fahrradklasse eine Snapping-Eigenschaft auftritt Gleichzeitig wurden die anfänglichen Attribute eingeschränkt.

Jetzt tritt das Problem erneut auf. Es kann viele instanziierte Objekte einer Klasse geben.

Unterschiedlich durch unterschiedliche Werte desselben Attributs.

Zum Beispiel sind der Name von Objekt 1 und der Name von Objekt 2 unterschiedlich, und auch die Anzahl der Räder ist unterschiedlich

Die Frage stellt sich erneut: Können wir Methoden zur Unterscheidung verwenden?

Kann nicht

In PHP teilen sich alle Objekte Klassenmethoden. Das heißt, solange das Objekt eine Methode verwendet, wird diese Methode von der Klasse übernommen, und das Objekt selbst hat sie nicht Weisen Sie Attributen Werte zu. Dies dient lediglich der Unterscheidung von anderen Objekten.

Objekte und Arrays:

Objekt: Attributname = Attributwert

Array:key=>value

Die Strukturen von Arrays und Objekten in PHP sind nach der Serialisierung sehr ähnlich, wie in der Abbildung gezeigt:

Die zweite Zeile ist das Serialisierungsergebnis des Objekts. Sie können sehen, dass vor dem Serialisierungsergebnis des Objekts drei Wörter stehen Der Grund, warum Sie die Methodeninformationen im Serialisierungsergebnis nicht sehen können, liegt darin, dass die Methode nach der Deserialisierung über die Informationen von „Fahrrad“ gefunden werden kann. und rufen Sie dann die Methode in der Klasse auf.

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 Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage