Learning points:
1. What is object-oriented
2. Characteristics of OOP
3. Key OOP concepts
4. Creating OOP
Many languages are inherently object-oriented (OOP), and it took PHP several years to introduce such functionality. The birth of object-oriented
was a major change in the development paradigm. Programming attention returned from the logic of the application to its data
. In other words, OOP shifts the focus from the procedural events of programming to the real entities that are ultimately modeled. This brings the application closer to the real world around us.
1. What is object-oriented
Process-oriented It’s like you are an employee of the company, and today you have a task to assemble a batch of computers in the company. Then you start purchasing, bargaining, transporting back to the company, starting assembly, wiring the network, debugging the machine, and done. In other words, process-oriented
is a concrete implementation with clear details.
Object-oriented
It’s like you are the president of the company and you assign an employee the task of assembling a batch of computers. complete. That is to say object-oriented is abstract execution, and the details are still completed by the employee. As for the details, the president does not need to
think about them. The benefits of this are obvious. In a company with senior management, operations can be coordinated, whereas in a company without senior management, only some employees who implement specific functions will work in a mess.
2. Features of OOP
Encapsulation
hides the properties and implementation details of objects, only exposes the interface to the outside world, and controls the access level of reading and modifying properties in the program ; The abstracted data and behavior (or function) are combined to form an organic whole, that is, the data is organically combined with the source code for operating the data to form a "class", in which data and functions are both classes. member.
Inheritance
Inheritance is a mechanism for deriving one or more classes from a base class.
A class that inherits from another class is called a subclass of that class. This relationship is often compared to a father and child. The subclass will inherit the characteristics of the parent class. These properties consist of properties and methods. Subclasses can add new functions beyond those of the parent class, so subclasses are also called "extensions" of the parent class.
Polymorphic
interface are polymorphism. Treating different subclass objects as parent classes can shield the differences between different subclass objects, write common code, and make common programming to adapt to changing needs.
3. Key OOP concepts
A class is the definition of an object. It contains information about how the object behaves, including its name, methods, properties and events. It's not actually an object itself because it doesn't exist in memory. When the code that references the class runs, a new instance of the class, an object, is created in memory. Although there is only one class,
multiple objects of the same type can be created in memory from this class. Object
An object is a thing, an entity, a noun, something that can be obtained, any
thing that can have its own identity can be imagined. Objects are instantiations of classes. Some objects are alive, some objects are not.
Like this car, this person, this house, this table, this plant, this check, this raincoat. In a nutshell: everything is an object.
For example: a class is an abstract definition of an object. To put it bluntly, if the object is a computer, the class can create many objects. The class can generate many computers. To put it more plainly, the class can be used as a computer production factory. Generate many, many computers.
Field (filed)
Field is used to describe certain aspects of the class. It is very similar to general PHP variables, with only some subtle
differences.
For example: computer brand, computer model and other characteristics.
Attributes access and operate fields through methods. On the one hand, it can protect the fields, and at the same time, it also allows access to
data like public fields.
For example: get the computer brand, set the computer brand and other operations.
Method Methods are very similar to functions, except that methods are used to define the behavior of a class. Like functions, methods can accept input parameters and return a value to the caller.
For example: turn on the computer, enter text, and run the program.
4. Creation of OOP
Creation of class:
Object declaration:
<span>$computer</span> = <span>new</span> Computer();
new 标识符是为了在内测中创建一个对象(实例),而Computer()就是那个类所生
成的实例。
$computer 是一个变量,而且又是生成实例的引用。
有时,你可能需要创建多个对象。
<span>$computer2</span> = <span>new</span> Computer();
使用var_dump()函数可以打印变量的相关信息。
字段(成员)的添加:
<span>class</span><span> Computer { </span><span>//</span><span>类的字段(成员)</span> <span>public</span> <span>$_name</span> = '联想120'<span>; </span><span>public</span> <span>$_model</span> = 'LX'<span>; }</span>
1.声明字段:
<span>public</span> <span>$_name</span> = '联想120'
a) public 是修饰符,表示这是一个公共字段,可以通过外部直接访问。
b) $_name 是变量名。
c) '联想120'是变量的值。
2.读取字段
<span>echo</span> <span>$computer</span>->_name;
3.设置字段
<span>$computer</span>->_name = 'IBM110';
方法的创建
<span>class</span><span> Computer { </span><span>//</span><span>类的方法</span> <span>function</span><span> run() { </span><span>echo</span> '我成功的运行了!'<span>; } }</span>
执行方法
<span>$computer</span>->run();
也可以在方法添加一些参数,执行的时候,传入这些参数。
<span>class</span><span> Computer { </span><span>//</span><span>类的方法</span> <span>function</span> run(<span>$_what</span><span>) { </span><span>echo</span> <span>$_what</span> . '成功的运行了!'<span>; } } </span><span>$computer</span> = <span>new</span><span> Computer (); </span><span>$computer</span>->run('电脑');
构造方法
所谓构造方法,也是方法,只不过是一种特殊的方法。而方法名必须和类名一致,
并且不需要像普通方法一样,必须通过调用才能执行,只需要实例化即完成调用过程。
一般来说,构造方法总是在做一些初始化的工作。
<span>class</span><span> Computer { </span><span>//</span><span>构造方法</span> <span>function</span><span> Computer() { </span><span>echo</span> '我是构造方法!'<span>; } } </span><span>new</span> Computer (); <span>//</span><span>这样即完成了调用</span>
在PHP5 我们可以通过__construct 的内置方法来识别构造方法,而不用再需要和
类名相同了。
<span>class</span><span> Computer { </span><span>//</span><span>构造方法</span> <span>function</span><span> __construct() { </span><span>echo</span> '我是构造方法!'<span>; } }</span>
相对应构造方法,还有一种内置的方法是析构方法,它的用途在整个类使用完毕都
执行。一般可用于清理内存中对象(脚本执行完毕的时候会自动清理)。而如果有脚本执
行完毕后并没有清理的,比如数据库数据等,就有必要使用析构方法。
<span>class</span><span> Computer { </span><span>//</span><span>析构方法</span> <span>function</span><span> __destruct() { </span><span>echo</span> '我是析构方法'<span>; } }</span>
注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。