php面向?qū)ο蟪绦蛟O(shè)計(jì)
類:定義一件事物的抽象特點(diǎn)。
對(duì)象:類的 實(shí)例。
成員變量 − 定義在類內(nèi)部的變量。該變量的值對(duì)外是不可見的,但是可以通過成員函數(shù)訪問,在類被實(shí)例化為對(duì)象后,該變量即可稱為對(duì)象的屬性。var關(guān)鍵字定義成員變量。
多態(tài):相同的函數(shù)或方法可作用于多種類型對(duì)象產(chǎn)生不同結(jié)果。
封裝:現(xiàn)實(shí)世界中存在的某個(gè)客體的屬性和行為綁定在一起,并放置在一個(gè)邏輯單元中。
構(gòu)造函數(shù):創(chuàng)建對(duì)象是初始化對(duì)象,為對(duì)象成員變量賦初始值,與new運(yùn)算符一起使用在創(chuàng)建對(duì)象的語(yǔ)句中。
定義類:
<?php class site(){ /* 成員變量 */ var $url; var $title; /* 成員函數(shù) */ function setUrl($par){ $this->url = $par; } function getUrl(){ echo $this->url . PHP_EOL; } } ?>
類的變量使用 var 來(lái)聲明, 變量也可以初始化值。
函數(shù)定義類似 PHP 函數(shù)的定義,但函數(shù)只能通過該類及其實(shí)例化的對(duì)象訪問。
變量 $this 代表自身的對(duì)象。
創(chuàng)建對(duì)象:
$baidu = new site; $taobao = new site;
調(diào)用成員方法:
$baidu->setUrl('www.baidu.com'); $baidu->getUrl();
構(gòu)造方法:
function __construct($baidu){ $this->url = $baidu; }
現(xiàn)在可以這樣實(shí)例化對(duì)象:
$baidu = new site('www.baidu.com'); //調(diào)用成員函數(shù) $baidu->getUrl()
方法重寫:
// 從父類繼承的方法不能滿足子類時(shí),可以對(duì)方法進(jìn)行重寫覆蓋(override) function getUrl() { echo $this->url . PHP_EOL; return $this->url; }
訪問控制:
public 公有公有的類成員可以在任何地方被訪問。protected 受保護(hù)受保護(hù)的類成員則可以被其自身以及其子類和父類訪問。private 私有私有的類成員則只能被其定義所在的類訪問。(繼承類也不能訪問)
static關(guān)鍵字:
聲明方法或類屬性為static,可以不實(shí)例化而直接訪問。靜態(tài)屬性不能通過一個(gè)類已實(shí)例化的對(duì)象來(lái)訪問(但靜態(tài)方法可以)。
Final關(guān)鍵字:
如果父類中的方法被聲明final,則子類不能覆蓋該方法(重寫);如果類被聲明final則該類不能被繼承。
調(diào)用父類的構(gòu)造方法:
PHP 不會(huì)在子類的構(gòu)造方法中自動(dòng)的調(diào)用父類的構(gòu)造方法。要執(zhí)行父類的構(gòu)造方法,需要在子類的構(gòu)造方法中調(diào)用 parent::__construct() 。
<?php class base{ function __construct(){ print "base類構(gòu)造方法".PHP_EOL; } } class sub extends base{ function __construct() { parent::__construct();// 子類不能自動(dòng)繼承父類構(gòu)造方法 print "子類sub的構(gòu)造方法".PHP_EOL; } } // 調(diào)用base構(gòu)造方法 $obj1 = new base(); // 調(diào)用base、sub構(gòu)造方法 $obj2 = new sub(); ?>
到此這篇關(guān)于php面向?qū)ο蟪绦蛟O(shè)計(jì)的文章就介紹到這了,更多相關(guān)php面向?qū)ο髢?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- PHP面向?qū)ο笾庋b,繼承與多態(tài)詳解
- PHP 面向?qū)ο蟪绦蛟O(shè)計(jì)之類屬性與類常量實(shí)現(xiàn)方法分析
- php面向?qū)ο笾攸c(diǎn)知識(shí)分享
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法分析
- php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)重載(overloading)操作詳解
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之構(gòu)造方法和析構(gòu)方法詳解
- php面向?qū)ο蟪绦蛟O(shè)計(jì)介紹
相關(guān)文章
php設(shè)計(jì)模式之適配器模式原理、用法及注意事項(xiàng)詳解
這篇文章主要介紹了php設(shè)計(jì)模式之適配器模式原理、用法及注意事項(xiàng),結(jié)合實(shí)例形式分析了php適配器模式的定義、用法及出現(xiàn)的問題與解決方法,需要的朋友可以參考下2019-09-09個(gè)人站長(zhǎng)制做網(wǎng)頁(yè)常用的php代碼
個(gè)人站長(zhǎng)制做網(wǎng)頁(yè)常用的php代碼...2007-03-03php 防止單引號(hào),雙引號(hào)在接受頁(yè)面轉(zhuǎn)義
在使用php的過程中,我們需要使用單引號(hào)和雙引號(hào),所以需要轉(zhuǎn)義一下2008-07-07php中ob_flush函數(shù)和flush函數(shù)用法分析
這篇文章主要介紹了php中ob_flush函數(shù)和flush函數(shù)用法,實(shí)例分析了ob_flush函數(shù)和flush函數(shù)的功能及相關(guān)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03PHP4和PHP5性能測(cè)試和對(duì)比 測(cè)試代碼與環(huán)境
PHP4和PHP5性能測(cè)試和對(duì)比 測(cè)試代碼與環(huán)境...2007-08-08php使用pclzip類實(shí)現(xiàn)文件壓縮的方法(附pclzip類下載地址)
這篇文章主要介紹了php使用pclzip類實(shí)現(xiàn)文件壓縮的方法,分析了使用pclzip類的具體步驟與實(shí)現(xiàn)文件壓縮的相關(guān)技巧,并附帶pclzip類文件的下載地址,需要的朋友可以參考下2016-04-04