This article introduces the content of PHP clone revisit object-oriented programming, now share to everyone, the need for friends can refer to
PHP Object replication
Clone function, copy a new object, you need to keep all properties identical to the original window, but must be a new object. (If not a new object, the change in one window will affect the other window, or object A holds a reference to object B, when you copy object A, the object you want to use is no longer object B but a copy of object B, this time you need to get a copy of object a)
PHP deep copy and shallow copy
PHP5 begins, the new operator automatically returns a reference. An object accesses the true object content through an identifier.
A deep copy is a new object that refers to a variable that only wants to be copied, rather than the original referenced object.
A deep copy of PHP can be done in two ways, 1️⃣clone 2️⃣ the object by serializing it before deserializing it.
RESUMEA));
The __clone method can have no parameters and it automatically contains
That two pointers
This refers to the property of the current object, that is, the property of the old object
Classes and objects
Class: A collection of a set of objects that have the same properties and services.
Object: The result of a class instantiation is an object
Construction Method:
Only one construction method can be declared in a class, but a constructor is called every time the object is created, and the method cannot be invoked actively, so it is often used to perform some useful initialization tasks. For example, an attribute is assigned an initial value when creating an object.
Destructors
Do some of the current operations or perform some functions before destroying a class
Destructors are removed from all references to an object or executed when an object is explicitly destroyed, that is, the object calls the destructor before it is destroyed in memory
The class is actually placed in memory as a stack, so when the destructor is last called, it follows the principle of LIFO
The three main features of object-oriented programming:
Encapsulating inherited polymorphism
Encapsulation: Combine all the attributes of an object with all the services to form an indivisible independent unit (object), information hiding, that is, hiding the inner details of the object as much as possible.
Inherited single inheritance (a derived class in PHP java,c++ can derive from more than one base class) defines a new data type that not only has the newly defined member, but also has an old member. We call the existing classes used to derive new classes as base classes, also known as parent classes, and superclass classes. A new class derived from an existing class is called a derived class, also known as a subclass.
PHP overloading refers to a subclass that overrides a method already in the parent class
Final defines attribute members, not quilt class overrides
Static and const
Static describes the member properties and the member methods are statically,
Static members can restrict external access, because static members belong to the class, are instances that are not part of any object, and are allocated space the first time the class is loaded, and other classes are inaccessible. Only for the strength of the class to share, to a certain extent, the protection of the class.
Static methods cannot be accessed by static members using Const to implement
The Const modifier's member property is accessed in much the same way as a static decorated member, using the name of the class, using self in the method, but not using the $ symbol, or using the object to access
Serialization of objects
There are two cases where we have to serialize objects, the first is to serialize an object when it is being transmitted over the network, and the second is to serialize the object when it is written to a file or database.
The argument to the serialize () function is the object name, and the return value is a string.
When serializing an object, the __sellp-– (which can hide some member properties at this time) is executed automatically, and deserialization is the method that performs __wakup ()-(which can be assigned at this time).
The __sleep () function does not accept any arguments, but returns an array that contains the properties that need to be serialized. At the end of the contained property will be ignored at serialization, and if there is no __sleep () method, PHP will save all properties.
PHP Object replication
Clone function, copy a new object, you need to keep all properties identical to the original window, but must be a new object. (If not a new object, the change in one window will affect the other window, or object A holds a reference to object B, when you copy object A, the object you want to use is no longer object B but a copy of object B, this time you need to get a copy of object a)
PHP deep copy and shallow copy
PHP5 begins, the new operator automatically returns a reference. An object accesses the true object content through an identifier.
A deep copy is a new object that refers to a variable that only wants to be copied, rather than the original referenced object.
A deep copy of PHP can be done in two ways, 1️⃣clone 2️⃣ the object by serializing it before deserializing it.
RESUMEA));
The __clone method can have no parameters and it automatically contains
That two pointers
This refers to the property of the current object, that is, the property of the old object
Classes and objects
Class: A collection of a set of objects that have the same properties and services.
Object: The result of a class instantiation is an object
Construction Method:
Only one construction method can be declared in a class, but a constructor is called every time the object is created, and the method cannot be invoked actively, so it is often used to perform some useful initialization tasks. For example, an attribute is assigned an initial value when creating an object.
Destructors
Do some of the current operations or perform some functions before destroying a class
Destructors are removed from all references to an object or executed when an object is explicitly destroyed, that is, the object calls the destructor before it is destroyed in memory
The class is actually placed in memory as a stack, so when the destructor is last called, it follows the principle of LIFO
The three main features of object-oriented programming:
Encapsulating inherited polymorphism
Encapsulation: Combine all the attributes of an object with all the services to form an indivisible independent unit (object), information hiding, that is, hiding the inner details of the object as much as possible.
Inherited single inheritance (a derived class in PHP java,c++ can derive from more than one base class) defines a new data type that not only has the newly defined member, but also has an old member. We call the existing classes used to derive new classes as base classes, also known as parent classes, and superclass classes. A new class derived from an existing class is called a derived class, also known as a subclass.
PHP overloading refers to a subclass that overrides a method already in the parent class
Final defines attribute members, not quilt class overrides
Static and const
Static describes the member properties and the member methods are statically,
Static members can restrict external access, because static members belong to the class, are instances that are not part of any object, and are allocated space the first time the class is loaded, and other classes are inaccessible. Only for the strength of the class to share, to a certain extent, the protection of the class.
Static methods cannot be accessed by static members using Const to implement
The Const modifier's member property is accessed in much the same way as a static decorated member, using the name of the class, using self in the method, but not using the $ symbol, or using the object to access
Serialization of objects
There are two cases where we have to serialize objects, the first is to serialize an object when it is being transmitted over the network, and the second is to serialize the object when it is written to a file or database.
The argument to the serialize () function is the object name, and the return value is a string.
When serializing an object, the __sellp-– (which can hide some member properties at this time) is executed automatically, and deserialization is the method that performs __wakup ()-(which can be assigned at this time).
The __sleep () function does not accept any arguments, but returns an array that contains the properties that need to be serialized. At the end of the contained property will be ignored at serialization, and if there is no __sleep () method, PHP will save all properties.