Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Objektorientiertes Tutorial 3

PHP-Objektorientiertes Tutorial 3

黄舟
黄舟Original
2016-12-29 10:52:581026Durchsuche

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

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

Dieser Code ist der Prozess der Generierung von Instanzobjekten durch Klassen. $p1 ist der Name des Objekts, das wir instanziieren. Ebenso sind $p2, $p3
die Objekte, die wir instanziieren Instanziieren. Eine Klasse kann mehrere Objekte instanziieren. Der obige Code entspricht der Instanziierung von drei Personen. Es kann nur bedeuten, dass sie alle ihre eigenen haben Eigener Nachname
Name, Geschlecht und Alter Attribute Solange es sich um ein Mitgliedsattribut und eine Mitgliedsmethode handelt, wird es instanziiert Methoden.
Objekte in PHP, wie Ganzzahlen und Gleitkommatypen, werden zum Speichern verschiedener Datentypen verwendet. Sie müssen beim Ausführen in den Speicher geladen werden in der Erinnerung? Logischerweise ist der Speicher im Allgemeinen in 4 Segmente unterteilt: Stapelspeichersegment, Heapspeichersegment, Codesegment und statisches Initialisierungssegment. Verschiedene Deklarationen im Programm werden in verschiedenen Speichersegmenten platziert
Es ist ein Ort Zum Speichern von Datentypen, die die gleiche Raumlänge und wenig Platz belegen, z. B. Ganzzahlen 1, 10,
100, 1000, 10000, 100000 usw. Der im Speicher belegte Platz ist gleich lang, beide sind 64 Bit 4 Bytes. Welches Segment des Speichers sollten die Daten
also von variabler Länge sein und viel Platz beanspruchen? Solche Daten werden im Heap-Speicher
abgelegt. Auf den Stapelspeicher kann direkt zugegriffen werden, während auf den Heapspeicher nicht direkt zugegriffen werden kann. Für unsere Objekte ist die
-Nummer ein großer Datentyp und nimmt Platz variabler Länge ein, sodass das Objekt im Heap platziert wird, der Objektname jedoch
auf diese Weise im Stapel platziert wird Objektname kann verwendet werden.



, Einzelheiten finden Sie im Bild unten:
Wie Sie im Bild oben sehen können, ist $p1=new Person(); die rechte Seite des Gleichheitszeichens echte Objektinstanz, die sich im Heap-Speicher befindet. Für die darin enthaltenen Entitäten gibt es im Bild oben

dreimal neue Person(), sodass 3 Leerzeichen im Heap geöffnet und jeweils 3 Instanzobjekte generiert werden object ist
$p1=new Person();
unabhängig voneinander. Solange das neue Schlüsselwort in PHP erscheint, wird ein Objekt

instanziiert und ein eigener Space im Heap erstellt.
Jedes Instanzobjekt im Heap speichert beispielsweise Attribute: Name, 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 der Referenzvariablen „$p1“ ü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 bedienen können Objekt über die Referenzvariable $p1. Normalerweise nennen wir es auch ein Objekt Referenz
.
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
, $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->name; ;age; $p3->sex;
Object->Method $p1->say(); $p2->run();
Wie im folgenden Beispiel:



Aus dem obigen Beispiel ist ersichtlich, dass nur auf die Mitglieder im Objekt über die Objekt->Eigenschaften und Objekt->Methoden zugegriffen werden muss. Es gibt keine
zweite Methode, um auf die Mitglieder im Objekt zuzugreifen Objekt.

Das Obige ist der Inhalt des objektorientierten PHP-Tutorials 3. 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 "这个人在说话";
}f
unction 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>”;
LAMP 大讲堂PHP 面向对象技术(全面讲解)
echo “p3对象的年龄是:”.$p3->age.”<br>”;
//下面两行访问$p3对象中的方法
$p3->say();
$p3->run();
?>



Stellungnahme:
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