


Lernen Sie PHP auswendig – (12) Objektorientierte Programmierung 2
Aug 08, 2016 am 09:32 AMZwischen diesem und dem vorherigen Artikel liegt etwas Zeit und in der Mitte wurde ein kleines Projekt eingefügt. Aber egal, ?PHP beim Auswendiglernen lernen“ wird weitergehen.
Objektorientierte PHP-Programmierung
(2) Klassenattribute
Die sogenannten Klassenattribute sind in der Klasse deklarierte Variablen. Der Unterschied zu au?erhalb der Klasse deklarierten Variablen besteht darin, dass die ge?nderten Berechtigungen vorne hinzugefügt werden, was im vorherigen Artikel ?ffentlich/privat/geschützt ist. Ich m?chte beispielsweise eine Schülerklasse deklarieren, die die Schülernummer, den Namen, das Geschlecht, das Alter, die Klasse usw. des Schülers enth?lt. Dann kann ich wie folgt deklarieren:
<?php class Student{ private $sid; private $name; private $gender; private $age; private $grade; public getSid(){ return $this->sid; } public getName(){ return $this->name; } public getGender(){ return $this->gender; } public getAge(){ return $this->age; } public getGrade(){ return $this->grade; } public setSid($sid){ $this->sid = $sid; } public setName($name){ $this->name = $name; } public setGender($gender){ $this->gender = $gender; } public setAge($age){ $this->age = $age; } public setGrade($grade){ $this->grade = $grade; } }
In der Studentenklasse oben habe ich fünf Attribute deklariert, die alle als privater Typ deklariert wurden. Auf sie kann nicht direkt au?erhalb der Klasse zugegriffen werden, daher stelle ich für jede ihrer Eigenschaften zwei Methoden bereit, mit denen auf sie zugegriffen und ihre Werte festgelegt werden sollen. Im Allgemeinen werden bei der Deklaration einer Klasse die Eigenschaften als privat und die Mitgliedsmethoden als ?ffentlich deklariert, sodass die Au?enwelt über die ?ffentlichen Methoden auf die privaten Eigenschaften zugreifen kann. Bei der Deklaration von Zugriffs- und Einstellungsmethoden werden im Allgemeinen die Formen getXXX() und setXXX() verwendet. Der erste Buchstabe von XXX wird normalerweise gro?geschrieben. Natürlich k?nnen sie auch als ?ffentliche Eigenschaften deklariert werden, sodass sie direkt zugewiesen und au?erhalb der Klasse aufgerufen werden k?nnen. Es wird jedoch weiterhin empfohlen, es als privates Attribut zu deklarieren, denn wenn es in Zukunft standardisiert wird, wird jede Klasse als separate PHP-Datei leben, um diese Klasse speziell zu speichern. Durch die Deklaration als privat wird sichergestellt, dass die Werte Die Objekte dieser Klasse werden nicht nach Belieben ge?ndert, um die Sicherheit zu gew?hrleisten.
Bei der Deklaration von Attributen k?nnen Sie bei der Deklaration auch Werte zuweisen, genau wie bei Variablen einer Extraklasse.
Hinweis hier:
Attribute k?nnen einen Wert, ein Array oder sogar speichern Objekt einer anderen Klasse. Fügen Sie beispielsweise der Schülerklasse oben Schulattribute hinzu. Diese Schule ist auch eine Klasse, einschlie?lich des Namens, der Adresse usw. der Schule. Ich deklariere zuerst die Schulklasse
class School{ private $name; private $address; public getName(){ return $this->name; } public getAddress(){ return $this->address; } public setName($name){ $this->name = $name; } public setAddress($address){ $this->address = $address; } }Dann kann ich das Schulattribut wie folgt zur Schülerklasse hinzufügen:
<?php class Student{ ... private $school; ... public getSchool(){ return $this->school; } ... public setSchool($school){ $this->school = $school; } }Auf diese Weise sieht genauso aus wie andere Attribute, aber achten Sie beim Zuweisen von Werten und beim übergeben von Parametern darauf vorbeiziehende Gegenst?nde. Zum Beispiel:
Ich werde zuerst eine Schule anmelden:
<span style="white-space:pre"> </span>$school1 = new School(); <span style="white-space:pre"> </span>$school1->setName("大連理工大學(xué)"); <span style="white-space:pre"> </span>$school1->setAddress("大連"); <span style="white-space:pre"> </span>$stu1 = new Student(); <span style="white-space:pre"> </span>$stu1->setSchool($school1);Gef?llt mir diesEs wird zu einem Objekt, wenn Sie seine Schule besuchen. Wenn ich den Namen der Schule wissen m?chte, in der dieser Schüler ist, muss ich ihn so besuchen:
<span style="white-space:pre"> </span>$stu1->getSchool()->getName();Verwenden Sie die getSchool-Methode, um ein School-Objekt abzurufen, und verwenden Sie dann die getName-Methode im School-Objekt, um auf seinen Namen zuzugreifen.
Hier wird beim Zugriff auf Variablen in der Klasse das Schlüsselwort $this verwendet, also lassen Sie uns als n?chstes über das Schlüsselwort this sprechen.
(3) $this-Schlüsselwort
Ob es als ?ffentliche, private oder geschützte Mitgliedsvariable deklariert ist, In einer Klasse muss Zugriff auf Ihre eigenen Variablen m?glich sein, daher müssen Sie das Schlüsselwort $this verwenden. Meiner Meinung nach bezieht sich das Schlüsselwort $this auf die Klasse selbst. Ich kann es auch so verstehen, dass es sich selbst als Objekt behandelt, das seine eigenen Eigenschaften aufruft. Beachten Sie hier, dass wir beim Deklarieren der Variablen das $-Symbol verwenden. Wenn Sie jedoch $this für den Zugriff verwenden, verwenden Sie nur dieses plus das $-Symbol und fügen Sie die nachfolgenden Attribute nicht hinzu, da sonst ein Fehler gemeldet wird. Informationen zur spezifischen Verwendung finden Sie im obigen Code. Wenn das extern deklarierte Objekt aufgerufen wird, ist es natürlich dasselbe wie $this und das $-Symbol muss dem Objekt hinzugefügt werden, jedoch nicht sp?ter.
(4) Statische Attribute
Ich habe nicht darüber nachgedacht, wie ich die statischen Attribute erkl?ren soll, aber ich Dieser Satz im Buch bringt es sehr gut auf den Punkt: Statische Eigenschaften werden h?ufig verwendet, um einen dauerhaften Wert darzustellen, der sich auf eine bestimmte Klasse bezieht und nichts mit dem Instanzobjekt zu tun hat. Wir k?nnen uns statische Eigenschaften als müde globale Variablen vorstellen. Ein wichtiges Merkmal statischer Eigenschaften besteht darin, dass Sie beim Zugriff auf statische Eigenschaften keine Instanz der Klasse erstellen müssen, d. h. Sie müssen kein Objekt der Klasse definieren.
Das Buch gibt ein Beispiel für das statische Attribut der Verkaufsmenge in einer Autokategorie, was bedeutet, dass es egal ist, wer das Auto kauft trotzdem verkauft, dann erh?ht sich meine Verkaufsmenge um 1. Aber ich habe bereits das Beispiel von Schülern und Schulen angeführt und m?chte sagen, dass ich an diese Eigenschaft eines Schulabsolventen denke, egal wer Sie sind, solange Sie meinen Abschluss machen. dann werde ich noch 1 Schulabg?nger haben. Dann kann ich es so deklarieren:
<span style="white-space:pre"> </span>public static $graduate;Das hei?t, ich füge das Schlüsselwort static vor der Variablen hinzu. Wenn ich dann auf dieses statische Attribut zugreife, muss ich kein Objekt verwenden, um darauf zuzugreifen. Ich verwende diese Klasse, um direkt darauf zuzugreifen: School::$graduate = ...; Dies ist, was oben gesagt wurde, dass auf Objekte zugegriffen werden kann, die nicht definiert werden müssen. Hier kann ich ein Bild verwenden, um den Unterschied zwischen statischen Attributen und gew?hnlichen Attributen zu veranschaulichen:
靜態(tài)屬性只占這個內(nèi)存,不管存不存在對象實例,除非這個類沒了,否則會一直占有自己的內(nèi)存。而普通的屬性在每次聲明對象的時候都會分配內(nèi)存。
靜態(tài)屬性一般聲明成公有的。
(6)類常量
與類外的普通常量一樣,類常量也是存儲一個固定的值。使用const關(guān)鍵字進行聲明,這里不需要加權(quán)限修飾。在訪問的時候跟訪問靜態(tài)屬性一樣需要使用類名::(雙冒號)加常量名來訪問。比如如果我聲明一個手機類,手機有各種型號,那么我可以把各個手機型號用常量來存儲,在給手機型號屬性賦值的時候使用這些常量來賦值就好了。但是可能有這種疑惑,為什么要使用常量,我直接聲明不就行了。那么可以這樣理解:
class Phone{ const IPHONE = 1; const ZTE = 2; const HUAWEI = 3; //這里面各種屬性 }我這個是一個手機類,里面聲明了三個常量,這里注意,聲明常量不需要$符號,并且常量的名字一般大寫。但是你注意我在里面存儲的是int型的數(shù)據(jù),如果我給手機型號賦值的時候雖然給他賦值是類似:$this->type = ZTE;但是我的型號存的是int型的數(shù)據(jù),那么就會占內(nèi)存少,如果我不適用常量$this->type = 'ZTE';這樣我就存的字符串。并且使用常量可以提高編譯速度。
這是我理解的常量的優(yōu)點。但是我沒怎么用過。
下一篇繼續(xù)面向?qū)ο蟆?/span>
以上就介紹了邊記邊學(xué)PHP-(十二)面向?qū)ο缶幊?,包括了方面的內(nèi)容,希望對PHP教程有興趣的朋友有所幫助。

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgeh?use + hochaufl?sende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangeh?use/Keramikgeh?use + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgef?? und Sicherheit hinzugefügt

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verst?ndnis der Grundursache des Problems kann dabei helfen, die richtige L?sung zu finden. Hier sind die h?ufigsten Gründe, warum das Snipping Tool m?glicherweise nicht ordnungsgem?? funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool ge?ffnet wird. Besch?digte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es m?glicherweise besch?digt. Veraltete Grafiktreiber: Inkompatible Treiber k?nnen das Snipping-Tool beeintr?chtigen. St?rungen durch andere Anwendungen: Andere laufende Anwendungen k?nnen mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler w?hrend des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache L?sung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Jedes Jahr bevor Apple eine neue Hauptversion von iOS und macOS ver?ffentlicht, k?nnen Benutzer die Betaversion mehrere Monate im Voraus herunterladen, um sie zuerst zu testen. Da die Software sowohl von der ?ffentlichkeit als auch von Entwicklern verwendet wird, hat Apple für beide Entwickler- und ?ffentliche Versionen herausgebracht, bei denen es sich um ?ffentliche Betaversionen der Entwickler-Betaversionen handelt. Was ist der Unterschied zwischen der Entwicklerversion und der ?ffentlichen Version von iOS? Im wahrsten Sinne des Wortes handelt es sich bei der Entwicklerversion um eine Entwickler-Betaversion und bei der ?ffentlichen Version um eine ?ffentliche Betaversion. Die Entwicklerversion und die ?ffentliche Version richten sich an unterschiedliche Zielgruppen. Die Entwicklerversion wird von Apple zum Testen durch Entwickler verwendet. Sie ben?tigen ein Apple-Entwicklerkonto, um sie herunterzuladen und zu aktualisieren.

Das HP Victus 15 ist ein 15,6-Zoll-Gaming-Laptop der Einstiegsklasse, der normalerweise keine gro?e überlegung wert w?re, aber ein neues Best Buy-Angebot bietet 40 % Rabatt auf den Gaming-Laptop der Einstiegsklasse, wodurch der Preis von 799,99 $ auf sehr viel gesenkt wird budgetfreundliche $

Teil 1: Erste Schritte zur Fehlerbehebung überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen L?sungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt m?glicherweise nicht an Ihrem Ger?t; die Server von Apple sind m?glicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgem?? funktioniert. Wenn es ein Problem gibt, k?nnen Sie nur warten, bis Apple es behebt. überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem ?Verbindung zum AppStore nicht m?glich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

php提交表單通過后,彈出的對話框怎樣在當(dāng)前頁彈出php提交表單通過后,彈出的對話框怎樣在當(dāng)前頁彈出而不是在空白頁彈出?想實現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗證用PHP在后端,那么就用Ajax;僅供參考:HTML code

Dieser Artikel hilft Ihnen bei der Interpretation des Vue-Quellcodes und stellt vor, warum Sie damit in Vue2 auf Eigenschaften in verschiedenen Optionen zugreifen k?nnen. Ich hoffe, dass er für alle hilfreich ist!

So optimieren Sie die Akkulaufzeit des iPad mit iPadOS 17.4 Die Verl?ngerung der Akkulaufzeit ist der Schlüssel zum mobilen Ger?teerlebnis, und das iPad ist ein gutes Beispiel. Wenn Sie das Gefühl haben, dass der Akku Ihres iPads zu schnell leer wird, machen Sie sich keine Sorgen, es gibt eine Reihe von Tricks und Optimierungen in iPadOS 17.4, die die Laufzeit Ihres Ger?ts deutlich verl?ngern k?nnen. Das Ziel dieses ausführlichen Leitfadens besteht nicht nur darin, Informationen bereitzustellen, sondern auch darin, die Art und Weise zu ?ndern, wie Sie Ihr iPad verwenden, Ihr gesamtes Batteriemanagement zu verbessern und sicherzustellen, dass Sie sich l?nger auf Ihr Ger?t verlassen k?nnen, ohne es aufladen zu müssen. Durch die übernahme der hier beschriebenen Vorgehensweisen machen Sie einen Schritt hin zu einem effizienteren und bewussteren Einsatz von Technologie, der auf Ihre individuellen Bedürfnisse und Nutzungsmuster zugeschnitten ist. Identifizieren Sie die gr??ten Energieverbraucher
