The main three characteristics of the object
The behavior of the object: what operations can be applied to the object, turning on the light and turning off the light are behaviors.
The shape of the object: how the object responds when those methods are applied, color, size, appearance.
Representation of objects: The representation of objects is equivalent to an ID card, specifically distinguishing the differences in the same behavior and status.
Object-oriented model
Object-oriented concept:
oop (object-oriented programming) can make its code more concise, easier to maintain and more reproducible
What is a class :
A class is a collection of objects with the same attributes and services. For example, people, books, ships, and cars all belong to the class. It makes a unified abstract description for the objects belonging to the class. In programming language A class is a separate program, and it should have a class name including attribute description and service parts.
What is an object:
An object is an entity in the system that describes objective events. It is a basic unit that constitutes the system. *Data and code are bundled in an entity*. An object consists of a set of properties and a set of behaviors that operate on this set of properties.
From an abstract point of view, an object is an abstraction of something in the problem domain or implementation domain. It reflects the information saved and the role played by the thing in the system: it is a set of attributes and an encapsulation body that has the authority to operate on these attributes. The objective world is composed of objects and the connections between objects.
The relationship between classes and objects:
The relationship between classes and objects is like the relationship between molds and castings. The result of the strength of the class is the object, and the abstraction of the object is the class. A class describes a group of people with the same characteristics. (property) and objects with the same behavior.
Classes, attributes and methods
Class syntax format defined in PHP:
class classname [optional attribute]{
public $property [=value];... //Use public Declare a public identifier and then give it to a variable. Variables can also be assigned values
function functionname (args){ //Member functions in class methods
Code}...
//Class methods ( Member function)
}
Generate object (instantiation of class): $Object name=new classname();
Using the properties of the object
In a class, you can access a special When the variable is set or accessed through an operation in the class, the pointer $this is referenced using $this->name.
Generation of objects
After defining the class, use a new to declare it. Due to the object data Due to the encapsulation feature, the object cannot be directly accessed by the main program block, and the attributes and behavior functions defined in the class must be called through the object to indirectly achieve the purpose of accessing the data in the control class.
The relationship between objects and classes
The relationship between objects and classes:
Objects actually exist and occupy dynamic resources.
A class is a blueprint of an object and may occupy static resources.
Object attributes occupy dynamic resources
Class (static) attributes are actually "global variables" in the class namespace
Performance considerations:
Each object occupies separate data space
Increase The calling hierarchy may consume execution time
Method parameter form and transfer method
Method parameters can be basic data types, arrays and class objects.
Basic data type: Pass by value parameter
Array: Pass by value parameter
Class object: Pass by reference
Constructor
The constructor plays the role of initialization in the class
The generation method of the constructor is the same as other functions except that its name must be __construct().
Grammar format: function __construct(parameter){
. . . . . . . .
}
Example:
class Person{
public $name;
public $sex;
public $age;
function __construct($name,$sex,$age ){
echo "I am the constructor
";
$this->name=$name;
$this->sex=$sex;
$this-> ;age=$age;
}
Output result: Initialization
Destructor
When the object leaves its scope (for example, the function in which the object is located has been called), the system automatically executes the destructor . Memory should be released in the destructor before exiting.
Destructor__destruct The destructor does not have any parameters
Example: class person{
function _ _destruct()
{ echo "bye bye!"; }
}
$ a=new person();
Access type
public Public (public modifier) Can be accessed both inside and outside the class
private (private modifier) Can only be accessed within the class Internal access
protected Protected (protected member modifier) Subclasses can access Not accessible outside the class
Three important features of oop
Encapsulation, inheritance, polymorphism
Encapsulation : Encapsulation is the combination of the properties and behavior of an object into an independent unit.
It takes two steps to encapsulate a class. The first step is to privatize a class. The second step is to use set and get to read and assign values.
The advantage is that it hides the implementation details of the class and makes it easy to add logic. Controllability, restricting unreasonable operations on attributes, making it easy to modify and enhance the maintainability of the code.
__get and __set
Generally speaking, it is more realistic to make classes private.
Two predefined functions are used to obtain and store values.
__get Get the value usually the value of the domain
__set Set the value usually the value of the domain
__call When calling a method that does not exist in an object, an error will occur call() This method handles this situation .