$Object name = new Class name();
class Person
{
//Das Folgende sind die Mitgliedsattribute der Person
var $name; //Der Name der Person
var $sex; //Das Geschlecht der Person
var $age; //Das Alter der Person
// Das Folgende ist die Mitgliedsmethode der Person
function say() { //Methode, die diese Person sprechen kann
echo „Diese Person spricht“;
}
function run() { / /Diese Person kann gehen
echo „Diese Person geht“;
}
}
$p1=new Person();
$p2=new Person();
$p3= new Person();
?>
$p1=new Person();
Dieser Code generiert Instanzobjekte durch Klassenprozess, $p1 ist der Name des Objekts, das wir instanziieren. Ebenso sind $p2 und $p3 die Namen der Objekte, die wir instanziieren. Der obige Code ist unabhängig In dem Beispiel gibt es keine Verbindung zwischen jeder Person. Es kann nur bedeuten, dass jede Person ihren eigenen Namen, ihr eigenes Geschlecht und ihre eigenen Altersmerkmale hat Da sie derselben Klasse angehören, sind die darin reflektierten Mitgliedseigenschaften und Mitgliedsmethoden im instanziierten Objekt enthalten.
Objekte in PHP, wie Ganzzahlen und Gleitkommatypen, werden zum Speichern verschiedener Datentypen verwendet. Sie müssen dann während des Betriebs in den Speicher geladen werden Erinnerung? Logisch gesehen ist der Speicher grob in 4 Segmente unterteilt: das Stapelraumsegment, das Heapraumsegment, das Codesegment und das initialisierte statische Segment. Verschiedene Deklarationen im Programm werden in verschiedenen Speichersegmenten platziert Speicher. Datentypen mit der gleichen Raumlänge, die wenig Platz beanspruchen, wie z. B. ganze Zahlen 1, 10, 100, 1000, 10000, 100000 usw. belegen die gleiche Länge im Speicher und sind alle 64 Bit und 4 Byte groß. Wo sollen also die Daten eines Datentyps mit variabler Länge und großem Platzbedarf in diesem Speichersegment abgelegt werden? Solche Daten werden im Heap-Speicher abgelegt. Auf den Stapelspeicher kann direkt zugegriffen werden, während auf den Heapspeicher nicht direkt zugegriffen werden kann. Bei unserem Objekt handelt es sich um einen großen Datentyp, der Platz variabler Länge einnimmt. Daher wird das Objekt im Heap abgelegt, der Objektname jedoch im Stapel, sodass das Objekt über den Objektnamen verwendet werden kann . .
$p1=new Person();
Für diesen Code ist $p1 der Objektname im Stapelspeicher, new Person() ist das reale Objekt im Heapspeicher. Weitere Informationen , siehe Bild unten:
Auf dem Bild oben können Sie sehen, dass $p1=new Person(); die rechte Seite des Gleichheitszeichens ist die reale Objektinstanz, die sich im Heap befindet Für die Entitäten im Speicher gibt es in der obigen Abbildung dreimal neue Person(), sodass 3 Leerzeichen im Heap geöffnet werden und 3 Instanzobjekte generiert werden ist unabhängig voneinander und verwendet seinen eigenen Speicherplatz. Solange in PHP Inside ein neues Schlüsselwort erscheint, wird ein Objekt instanziiert und ein eigener Speicherplatz im Heap erstellt.
Jedes Instanzobjekt im Heap speichert beispielsweise Attribute. Die Instanzobjekte im Heap speichern jetzt beispielsweise Namen, Geschlecht und Alter. Jedes Attribut hat wiederum eine Adresse.
$p1=new Person(); $p1 auf der linken Seite des Gleichheitszeichens 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 Objekt bedienen können die Referenzvariable $p1. Normalerweise nennen wir die Objektreferenz auch ein Objekt.
Der obige Inhalt ist ein Zitat von Brother „Little Fried Peanuts“, vielen Dank fürs Teilen.
Das Obige hat PHP-objektorientierte (OOP)-instanziierte Objekte eingeführt, einschließlich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.