首頁 後端開發 php教程 第十七章 面向对象基础_PHP教程

第十七章 面向对象基础_PHP教程

Jul 13, 2016 am 10:29 AM
php

学习要点:
1.什么是面向对象
2.OOP 的特点
3.关键的OOP 概念
4.创建OOP

 

许多语言本身就是面向对象(OOP)的,而PHP 用了几年才引入了这类功能。面向对
象的诞生是开发范型一次的重大改变,编程的注意力重新从应用程序的逻辑回到其数据上
来。换句话说,OOP 将焦点从编程的过程性事件转向最终建模的真实实体。这使得应用程
序更接近于我们周围的现实世界。

 

一.什么是面向对象
面向过程
这就好比你是公司的一名员工,今天有个任务要在公司组装一批电脑。那么你就开始采
购、讨价还价、运输回公司、开始组装、布线网络、调试机器、完成。也就是说,面向过程
就是具体化的实现,细节明确。
面向对象
这就好像你是公司的总裁,你布置给一名员工一个组装一批电脑的任务。完毕。也就是
说,面向对象就是抽象化的执行,具体还是由那名员工来完成。而细节方面,总裁不需要去
考虑。这样的好处是显而易见的,在有管理高层的公司可以协调作业,而没有管理高层的公
司,只有一些具体实现功能的员工,会乱做一团。

 

二.OOP的特点
封装
隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级
别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与
操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。


继承
继承是从一个基类得到一个或多个类的机制。
继承自另一个类的类被称为该类的子类。这种关系通常用父亲和孩子来比喻。子类将继
承父类的特性。这些特性由属性和方法组成。子类可以增加父类之外的新功能,因此子类也
被称为父类的“扩展”。

多态

多态是指OOP 能够根据使用类的上下文来重新定义或改变类的性质或行为,或者说接
口的多种不同的实现方式即为多态。把不同的子类对象都当作父类来看,可以屏蔽不同子类
对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

 

三.关键的 OOP概念
类(class)
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性
和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的
一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建
多个相同类型的对象。
对象(object)
对象是一件事、一个实体、一个名词,可以获得的东西,可以想象有自己的标识的任何
东西。对象是类的实例化。一些对象是活的,一些对象不是。
比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。概
括来说就是:一切皆对象。
例如:类是对象的抽象定义,说白了,如果这个对象是电脑,类可以创建出许多对象,
类可以生成很多电脑,再白一点,类可以当成一个电脑生产厂,可以生成出很多很多台电脑。
字段(filed)
字段是用于描述类的某方面的性质,它与一般的PHP 变量非常相似,只是有一些细微
的差别。
例如:电脑品牌,电脑的型号等特性。
属性(attribute)
通过方法来访问和操作字段,一方面可以保护字段,同时还允许访问公共字段一样访问
数据。
例如:获取电脑品牌,设置电脑品牌等操作。
方法(method)
方法与函数非常相似,只不过方法是用来定义类的行为。与函数一样,方法可以接受输
入参数,可以向调用者返回一个值。
例如:打开电脑,输入文本,运行程序。

 

四.创建 OOP
类的创建:

<span>class</span><span> Computer {
</span><span>//</span><span>类的字段(成员)
//类的方法</span>
}
登入後複製

对象的声明:

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/776508.htmlTechArticle学习要点: 1.什么是面向对象 2.OOP 的特点 3.关键的OOP 概念 4.创建OOP 许多语言本身就是面向对象(OOP)的,而PHP 用了几年才引入了这类功能...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

為了進行文件上傳,我們將使用表單助理。這是文件上傳的範例。

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 是一個開源MVC 框架。它使應用程式的開發、部署和維護變得更加容易。 CakePHP 有許多函式庫可以減少大多數常見任務的過載。

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

See all articles