


Lernen Sie PHP auswendig – (12) Objektorientierte Programmierung 2
Zwischen 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; } }
<?php class Student{ ... private $school; ... public getSchool(){ return $this->school; } ... public setSchool($school){ $this->school = $school; } }
Ich werde zuerst eine Schule anmelden:
<span style="white-space:pre"> </span>$school1 = new School(); <span style="white-space:pre"> </span>$school1->setName("大连理工大学"); <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);
<span style="white-space:pre"> </span>$stu1->getSchool()->getName();
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;
静态属性只占这个内存,不管存不存在对象实例,除非这个类没了,否则会一直占有自己的内存。而普通的属性在每次声明对象的时候都会分配内存。
静态属性一般声明成公有的。
(6)类常量
与类外的普通常量一样,类常量也是存储一个固定的值。使用const关键字进行声明,这里不需要加权限修饰。在访问的时候跟访问静态属性一样需要使用类名::(双冒号)加常量名来访问。比如如果我声明一个手机类,手机有各种型号,那么我可以把各个手机型号用常量来存储,在给手机型号属性赋值的时候使用这些常量来赋值就好了。但是可能有这种疑惑,为什么要使用常量,我直接声明不就行了。那么可以这样理解:
class Phone{ const IPHONE = 1; const ZTE = 2; const HUAWEI = 3; //这里面各种属性 }
这是我理解的常量的优点。但是我没怎么用过。
下一篇继续面向对象。
以上就介绍了边记边学PHP-(十二)面向对象编程2,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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

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)

Heiße Themen





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提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用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!

Ein Kollege blieb aufgrund eines Fehlers stecken, auf den dadurch hingewiesen wurde. Dieses Zeigeproblem führte dazu, dass eine Pfeilfunktion verwendet wurde, was dazu führte, dass die entsprechenden Requisiten nicht abgerufen werden konnten. Er wusste es nicht, als ich es ihm vorstellte, und dann habe ich mir bewusst die Front-End-Kommunikationsgruppe angesehen. Bisher verstehen es mindestens 70 % der Front-End-Programmierer nicht Sie diesen Link Wenn alles unklar ist Wenn Sie es noch nicht gelernt haben, geben Sie mir bitte eine große Klappe.
