Home Backend Development PHP Tutorial Chapter 17 Object-oriented Basics_PHP Tutorial

Chapter 17 Object-oriented Basics_PHP Tutorial

Jul 13, 2016 am 10:29 AM
php

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

Polymorphism means that OOP can redefine or change the nature or behavior of a class according to the context in which the class is used, or the multiple different implementations of the

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

Class (class)

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();
Copy after login

new 标识符是为了在内测中创建一个对象(实例),而Computer()就是那个类所生
成的实例。
$computer 是一个变量,而且又是生成实例的引用。
有时,你可能需要创建多个对象。

<span>$computer2</span> = <span>new</span> Computer();
Copy after login

使用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>
Copy after login

1.声明字段:

<span>public</span> <span>$_name</span> = '联想120'
Copy after login

a) public 是修饰符,表示这是一个公共字段,可以通过外部直接访问。
b) $_name 是变量名。
c) '联想120'是变量的值。
2.读取字段

<span>echo</span> <span>$computer</span>->_name;
Copy after login

3.设置字段

<span>$computer</span>->_name = 'IBM110';
Copy after login

方法的创建

<span>class</span><span> Computer {
    </span><span>//</span><span>类的方法</span>
    <span>function</span><span> run() {
        </span><span>echo</span> '我成功的运行了!'<span>;
    }
}</span>
Copy after login

执行方法

<span>$computer</span>->run();
Copy after login

也可以在方法添加一些参数,执行的时候,传入这些参数。

<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('电脑');
Copy after login

构造方法
所谓构造方法,也是方法,只不过是一种特殊的方法。而方法名必须和类名一致,
并且不需要像普通方法一样,必须通过调用才能执行,只需要实例化即完成调用过程。
一般来说,构造方法总是在做一些初始化的工作。

<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>
Copy after login

在PHP5 我们可以通过__construct 的内置方法来识别构造方法,而不用再需要和
类名相同了。

<span>class</span><span> Computer {
    </span><span>//</span><span>构造方法</span>
    <span>function</span><span> __construct() {
        </span><span>echo</span> '我是构造方法!'<span>;
    }
}</span>
Copy after login

相对应构造方法,还有一种内置的方法是析构方法,它的用途在整个类使用完毕都
执行。一般可用于清理内存中对象(脚本执行完毕的时候会自动清理)。而如果有脚本执
行完毕后并没有清理的,比如数据库数据等,就有必要使用析构方法。

<span>class</span><span> Computer {
    </span><span>//</span><span>析构方法</span>
    <span>function</span><span> __destruct() {
        </span><span>echo</span> '我是析构方法'<span>;
    }
}</span>
Copy after login

注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/776508.htmlTechArticle学习要点: 1.什么是面向对象 2.OOP 的特点 3.关键的OOP 概念 4.创建OOP 许多语言本身就是面向对象(OOP)的,而PHP 用了几年才引入了这类功能...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

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

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

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

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

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

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

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

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

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,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

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

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

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 PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

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.

See all articles