Chapter 17 Object-oriented Basics_PHP Tutorial
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视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
