Heim Backend-Entwicklung PHP-Tutorial Objektorientierter PHP-Leitfaden (2) Instanziieren von Objekten und Verwenden von Objektmitgliedern

Objektorientierter PHP-Leitfaden (2) Instanziieren von Objekten und Verwenden von Objektmitgliedern

Dec 19, 2016 pm 01:43 PM
面向对象

5. Wie man Objekte instanziiert
Wir haben oben gesagt, dass die Einheit eines objektorientierten Programms ein Objekt ist, aber Objekte werden durch Klassen instanziiert. Da
unsere Klasse deklariert wird, besteht der nächste Schritt darin Objekt instanziieren.
Nachdem wir die Klasse definiert haben, verwenden wir das Schlüsselwort new, um ein Objekt zu generieren.
Codeausschnitt

$对象名称= new 类名称(); 
<?php 
class Person{ 
//下面是人的成员属性 
var $name; //人的名字 
var $sex; //人的性别 
var $age; //人的年龄 
//下面是人的成员方法 
function say(){ 
//这个人可以说话的方法 
echo "这个人在说话"; 
} function run(){ 
//这个人可以走路的方法 
echo "这个人在走路"; 
} 
} 
$p1=new Person(); 
$p2=new Person(); 
$p3=new Person(); 
?> 
$p1=new Person();
Nach dem Login kopieren

Dieser Code ist der Prozess der Generierung von Instanzobjekten durch Klassen. $p1 ist der Name des Objekts, das wir instanziieren. Ebenso sind $p2 und
$p3 unser Instanzen Der Name des ausgegebenen Objekts, eine Klasse kann mehrere Objekte instanziieren, jedes Objekt ist unabhängig, der obige Code entspricht der Instanziierung von 3 Personen, es gibt keine Verbindung zwischen jeder Person, er kann nur zeigen, dass sie alle sind Jeder Mensch hat seine eigenen Namens-, Geschlechts- und Altersattribute. Solange es sich um ein Mitgliedsattribut und eine Mitgliedsmethode handelt, kann es instanziiert werden enthält diese Eigenschaften und Methoden.
Objekte in PHP, wie Ganzzahlen und Gleitkommatypen, sind ebenfalls Datenklassen, die zum Speichern verschiedener Datentypen verwendet werden.
Sie müssen zur Laufzeit in den Speicher geladen werden, sodass Objekte sich im Speicher widerspiegeln ? Der Speicher ist logischerweise in 4 Segmente unterteilt: das Stapelspeichersegment, das Heapspeichersegment, das Codesegment und das statische Initialisierungssegment. Verschiedene Deklarationen im Programm
werden in verschiedenen Speichersegmenten und im Stapelspeicher platziert segment Es ist ein Ort zum Speichern von Datentypen, die dieselbe Raumlänge und wenig Platz einnehmen
, wie z. B. ganze Zahlen 1, 10, 100, 1000, 10000, 100000 usw. Der im Speicher belegte Platz ist derselbe Länge,
Beide sind 64 Bit und 4 Byte. Was ist also mit dem Datentyp, dessen Datenlänge nicht festgelegt ist, viel Platz einnimmt und im Speichersegment
abgelegt wird? Solche Daten werden im Heap-Speicher abgelegt. Auf den Stapelspeicher kann direkt zugegriffen werden, während der Heap-Speicher
Speicher ist, auf den nicht direkt zugegriffen werden kann. Unser Objekt ist ein großer Datentyp und nimmt eine variable Länge an Speicherplatz
ein, sodass das Objekt im Heap platziert wird, der Objektname jedoch im Stapel platziert wird, sodass der Objektname lautet: Das Objekt ist
bereit zur Verwendung.
$p1=new Person();
Für diesen Code ist $p1 der Objektname im Stapelspeicher, new Person() ist das reale Objekt im Heapspeicher
, bitte angeben Schauen Sie sich das an Bild unten:

Wie Sie auf dem Bild oben sehen können, ist $p1=new Person(); die rechte Seite des Gleichheitszeichens ist die reale Objektinstanz, die Entität im Heapspeicher Im Bild oben sind 3 neue Zeiten zu sehen, daher werden 3 Leerzeichen im Heap geöffnet und jedes Objekt
ist unabhängig voneinander und verwendet in PHP seinen eigenen Leerraum Da es ein neues Schlüsselwort gibt, instanziiert
ein Objekt und öffnet seinen eigenen Platz im Heap.
Jedes Instanzobjekt im Heap speichert beispielsweise Attribute: Nachname
, Geschlecht und Alter. Jedes Attribut hat wiederum eine Adresse.
$p1=new Person(); Die rechte Seite des Gleichheitszeichens $p1 ist eine Referenzvariable. Die erste Adresse des Objekts
wird über den Zuweisungsoperator „=“ zugewiesen ", also $p1 Es ist eine Variable, die die erste Adresse des Objekts speichert. $p1 wird im Stapelspeicher abgelegt. $p1 entspricht einem Zeiger, der auf das Objekt im Heap zeigt, sodass wir das Objekt über bedienen können Referenzvariable $p1. Normalerweise
nennen wir eine Objektreferenz ein Objekt.
6. So verwenden Sie die Mitglieder im Objekt
Wie oben gesehen, gibt es zwei Arten von Mitgliedern im PHP-Objekt, eines ist das Mitgliedsattribut und das andere ist die Mitgliedsmethode. Wir können das Objekt mit
, $p1=new Person(); deklarieren. Wie werden die Mitglieder des Objekts verwendet? Wenn Sie auf die Mitglieder des Objekts zugreifen möchten, müssen Sie einen
speziellen Operator „->“ verwenden, um den Zugriff auf die Objektmitglieder abzuschließen:
Object-> p2-> Alter;
Objekt->Methode $p2->run();
Codeausschnitt


Aus dem obigen Beispiel geht hervor, dass nur auf die Mitglieder im Objekt mit den Methoden object->properties und object-> zugegriffen werden muss.
Es gibt keine Sekunde Methode für den Zugriff auf die Mitglieder im Objekt.

Das Obige ist der objektorientierte PHP-Leitfaden (2) Instanziieren von Objekten und Verwenden von Objektmitgliedern. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

<?php 
class Person{ 
//下面是人的成员属性 
var $name; //人的名字 
var $sex; //人的性别 
var $age; //人的年龄 
//下面是人的成员方法 
function say(){ //这个人可以说话的方法 
echo "这个人在说话"; 
} 
function run(){ //这个人可以走路的方法 
echo "这个人在走路"; 
} 
} 
$p1=new Person(); //创建实例对象$p1 
$p2=new Person(); //创建实例对象$p2 
$p3=new Person(); //创建实例对象$p3 
//下面三行是给$p1对象属性赋值 
$p1->name=”张三”; 
$p1->sex=”男”; 
$p1->age=20; 
//下面三行是访问$p1对象的属性 
echo “p1对象的名字是:”.$p1->name.”<br>”; 
echo “p1对象的性别是:”.$p1->sex.”<br>”; 
echo “p1对象的年龄是:”.$p1->age.”<br>”; 
//下面两行访问$p1对象中的方法 
$p1->say(); 
$p1->run(); 
//下面三行是给$p2对象属性赋值 
$p2->name=”李四”; 
$p2->sex=”女”; 
$p2->age=30; 
//下面三行是访问$p2对象的属性 
echo “p2对象的名字是:”.$p2->name.”<br>” 
echo “p2对象的性别是:”.$p2->sex.”<br>”; 
echo “p2对象的年龄是:”.$p2->age.”<br>”; 
//下面两行访问$p2对象中的方法 
$p2->say(); 
$p2->run(); 
//下面三行是给$p3对象属性赋值 
$p3->name=”王五”; 
$p3->sex=”男”; 
$p3->age=40; 
//下面三行是访问$p3对象的属性 
echo “p3对象的名字是:”.$p3->name.”<br>”; 
echo “p3对象的性别是:”.$p3->sex.”<br>”; 
echo “p3对象的年龄是:”.$p3->age.”<br>”; 
//下面两行访问$p3对象中的方法 
$p3->say(); 
$p3->run(); 
?>
Nach dem Login kopieren

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie objektorientierte ereignisgesteuerte Programmierung mithilfe der Go-Sprache So implementieren Sie objektorientierte ereignisgesteuerte Programmierung mithilfe der Go-Sprache Jul 20, 2023 pm 10:36 PM

So verwenden Sie die Go-Sprache zum Implementieren der objektorientierten ereignisgesteuerten Programmierung. Einführung: Das objektorientierte Programmierparadigma wird häufig in der Softwareentwicklung verwendet. Die ereignisgesteuerte Programmierung ist ein gängiges Programmiermodell, das den Programmfluss durch Auslösen und Verarbeiten von realisiert Ereignisse. In diesem Artikel wird die Verwendung der Go-Sprache zur Implementierung objektorientierter ereignisgesteuerter Programmierung vorgestellt und Codebeispiele bereitgestellt. 1. Das Konzept der ereignisgesteuerten Programmierung Die ereignisgesteuerte Programmierung ist ein auf Ereignissen und Nachrichten basierendes Programmiermodell, das die Ablaufsteuerung des Programms auf das Auslösen und Verarbeiten von Ereignissen überträgt. in ereignisgesteuert

Welche Bedeutung hat die Annotation @JsonIdentityInfo mit Jackson in Java? Welche Bedeutung hat die Annotation @JsonIdentityInfo mit Jackson in Java? Sep 23, 2023 am 09:37 AM

Die Annotation @JsonIdentityInfo wird verwendet, wenn ein Objekt in der Jackson-Bibliothek eine Eltern-Kind-Beziehung hat. Die Annotation @JsonIdentityInfo wird verwendet, um die Objektidentität während der Serialisierung und Deserialisierung anzugeben. ObjectIdGenerators.PropertyGenerator ist eine abstrakte Platzhalterklasse, die zur Darstellung von Situationen verwendet wird, in denen der zu verwendende Objektbezeichner von einer POJO-Eigenschaft stammt. Syntax@Target(value={ANNOTATION_TYPE,TYPE,FIELD,METHOD,PARAMETER})@Retention(value=RUNTIME)public

Entdecken Sie die objektorientierte Programmierung in Go Entdecken Sie die objektorientierte Programmierung in Go Apr 04, 2024 am 10:39 AM

Die Go-Sprache unterstützt die objektorientierte Programmierung durch Typdefinition und Methodenzuordnung. Es unterstützt keine traditionelle Vererbung, sondern wird durch Komposition implementiert. Schnittstellen sorgen für Konsistenz zwischen Typen und ermöglichen die Definition abstrakter Methoden. Praxisbeispiele zeigen, wie OOP zum Verwalten von Kundeninformationen verwendet wird, einschließlich Vorgängen zum Erstellen, Abrufen, Aktualisieren und Löschen von Kunden.

Erweiterte PHP-Funktionen: Best Practices in der objektorientierten Programmierung Erweiterte PHP-Funktionen: Best Practices in der objektorientierten Programmierung Jun 05, 2024 pm 09:39 PM

Zu den OOP-Best Practices in PHP gehören Namenskonventionen, Schnittstellen und abstrakte Klassen, Vererbung und Polymorphismus sowie Abhängigkeitsinjektion. Zu den praktischen Fällen gehören: Verwenden des Lagermodus zum Verwalten von Daten und Verwenden des Strategiemodus zum Implementieren der Sortierung.

Analyse der objektorientierten Funktionen der Go-Sprache Analyse der objektorientierten Funktionen der Go-Sprache Apr 04, 2024 am 11:18 AM

Die Go-Sprache unterstützt objektorientierte Programmierung, definiert Objekte über Strukturen, definiert Methoden mithilfe von Zeigerempfängern und implementiert Polymorphismus über Schnittstellen. Objektorientierte Funktionen ermöglichen die Wiederverwendung, Wartbarkeit und Kapselung von Code in der Go-Sprache, es gibt jedoch auch Einschränkungen wie das Fehlen traditioneller Konzepte von Klassen und Vererbung sowie Methodensignaturumwandlungen.

Analyse des Flyweight-Musters in der objektorientierten PHP-Programmierung Analyse des Flyweight-Musters in der objektorientierten PHP-Programmierung Aug 14, 2023 pm 05:25 PM

Analyse des Flyweight-Musters in der objektorientierten PHP-Programmierung In der objektorientierten Programmierung ist das Entwurfsmuster eine häufig verwendete Software-Designmethode, die die Lesbarkeit, Wartbarkeit und Skalierbarkeit des Codes verbessern kann. Das Flyweight-Muster ist eines der Entwurfsmuster, das den Speicheraufwand durch die gemeinsame Nutzung von Objekten reduziert. In diesem Artikel wird untersucht, wie Sie den Flyweight-Modus in PHP verwenden, um die Programmleistung zu verbessern. Was ist der Fliegengewichtsmodus? Das Fliegengewichtsmuster ist ein strukturelles Entwurfsmuster, dessen Zweck darin besteht, dasselbe Objekt zwischen verschiedenen Objekten zu teilen.

Gibt es in Golang klassenähnliche objektorientierte Funktionen? Gibt es in Golang klassenähnliche objektorientierte Funktionen? Mar 19, 2024 pm 02:51 PM

In Golang (Go-Sprache) gibt es kein Konzept einer Klasse im herkömmlichen Sinne, es stellt jedoch einen Datentyp namens Struktur bereit, durch den objektorientierte Funktionen ähnlich wie Klassen erreicht werden können. In diesem Artikel erklären wir, wie Strukturen zur Implementierung objektorientierter Funktionen verwendet werden, und stellen konkrete Codebeispiele bereit. Definition und Verwendung von Strukturen Werfen wir zunächst einen Blick auf die Definition und Verwendung von Strukturen. In Golang können Strukturen über das Schlüsselwort type definiert und dann bei Bedarf verwendet werden. Strukturen können Attribute enthalten

Erfahrungsaustausch in der C#-Entwicklung: objektorientierte Programmierung und Designprinzipien Erfahrungsaustausch in der C#-Entwicklung: objektorientierte Programmierung und Designprinzipien Nov 22, 2023 am 08:18 AM

C# (CSharp) ist eine leistungsstarke und beliebte objektorientierte Programmiersprache, die im Bereich der Softwareentwicklung weit verbreitet ist. Während des C#-Entwicklungsprozesses ist es sehr wichtig, die grundlegenden Konzepte und Designprinzipien der objektorientierten Programmierung (OOP) zu verstehen. Objektorientierte Programmierung ist ein Programmierparadigma, das Dinge in der realen Welt in Objekte abstrahiert und Systemfunktionen durch Interaktionen zwischen Objekten implementiert. In C# sind Klassen die Grundbausteine ​​der objektorientierten Programmierung und werden verwendet, um die Eigenschaften und das Verhalten von Objekten zu definieren. Bei der Entwicklung von C# gibt es mehrere wichtige Designprinzipien

See all articles