麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php oop的特性是什么?php oop思想的三大特點(diǎn)介紹

2020-03-22 20:29:37
字體:
供稿:網(wǎng)友
php oop思想的三大特性分別為:封裝,繼承以及多態(tài),在這里,我將具體的和大家說一下對php opp思想的理解,那么,接下來我們就來具體的看一看opp思想的三大特征及php opp思想。
封裝性

封裝性就是把對象的屬性和行為結(jié)合成一個(gè)獨(dú)立的單位。
封裝一個(gè)類需要兩步 第一步是私有化一個(gè)類 第二步是用set和get 做出讀取賦值的操作
他的好處是:隱藏類的實(shí)現(xiàn)細(xì)節(jié),可以方便加入邏輯控制性,限制對屬性的不合理操作,便于修改增強(qiáng)代碼的可維護(hù)性。

__get與__set
一般說把類私有話更符合現(xiàn)實(shí)的邏輯。
預(yù)定義兩種函數(shù)來進(jìn)行獲取與敷值操作。
__get 獲取值通常是域的值
__set 設(shè)置值通常是域的值
__call 調(diào)用一個(gè)對象中不存在的方法時(shí),就會產(chǎn)生錯誤call()這個(gè)方法來處理這種情況。

靜態(tài)屬性和方法
html' target='_blank'>static關(guān)鍵字 來聲明靜態(tài)方法
static靜態(tài)變量 在類的內(nèi)部生成一個(gè)靜態(tài)變量 就是能夠被所有類的實(shí)力化共想 也就是說靜態(tài)成員則放到了“初始化靜態(tài)段”,在類第一次被加載的時(shí)候放入的,可以讓堆內(nèi)存里面的每個(gè)對象所共享
使用方法:self::$靜態(tài)屬性、self::靜態(tài)方法

static function p(){echo self::$country;echo self::PI;//訪問常量//echo $this- name;在靜態(tài)方法中只能操作靜態(tài)屬性//self::p();}

外部調(diào)用:類::$靜態(tài)屬性、類::靜態(tài)方法

const關(guān)鍵字:用來生成常量 常量是唯一的不能改變的 慣例常量為大寫
const CONSTANT = constant value 生成一個(gè)常量
echo self::CONSTANT;//類內(nèi)部訪問
echo ClassName::CONSTANT;//類外部訪問

繼承性
B類的對象擁有A類的全部屬性與行為,稱作B對A類的繼承。
假如一個(gè)類從多個(gè)類中繼承了屬性與服務(wù),這稱為多繼承,通常我們成為繼承類為子類被繼承類為父類,在PHP中只有單繼承,但一個(gè)父類可以被多個(gè)類繼承,但是一個(gè)子類只能有一個(gè)父類,但是允許關(guān)聯(lián)繼承,通過繼承可以減化類的定義。
extende聲明繼承關(guān)系
語法格式:class B extends A 此范例指明 B繼承了A
類的外部訪問對子類是有效的
子類與父類的屬性與方法
子類繼承父類的所有內(nèi)容,但父類中的private部分不能直接訪問
子類中新增加的屬性和方法是對父類的擴(kuò)展
子類中定義的與父類同名的屬性是對父類屬性的覆蓋,同名的方法也是對父類方法的覆蓋

重寫的方法
在子類中,使用parent訪問父類中的被覆蓋的屬性和方法
parent::__construce();
parent::$name;
parent::fun();

覆蓋父類原有屬性
clone克窿對象 語法格式$c=clone $p; $c克窿的對象$p 輸出echo $c- name;

對象比較
===兩個(gè)比較運(yùn)算符。
==是比較兩個(gè)對象的內(nèi)容。
===是比較對象的句柄,即引用地址。

instanceof操作符用于檢測對象實(shí)力是否屬于某一個(gè)類的類型 屬于返回true 不屬于返回false
__clone()如果想在克隆后改變原對象的內(nèi)容,需要在__clone()中重寫原本的屬性和方法

function __clone(){$this- name= 我是一個(gè)克隆人 }

final表示一個(gè)類是最終版本 也就是說它不能在被子類調(diào)用

多態(tài)性

多態(tài)性是指在父類中定義的屬性或行為被子類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個(gè)屬性或行為在父類及其各個(gè)子類中具有不同的語義。
就是說同一種方法在子類與父類中執(zhí)行的結(jié)果不同。

class A {function info(){echo “A INFO”;class B extends A {function info(){echo “B INFO”;class C extends A {function info(){echo “C INFO”;function printinfo($obj){function printinfo(A $obj){if($obj instanceof A)$obj- info();$obj- info();$a=new A(); $b=new B(); $c=new C();printinfo($a); //輸出A INFOprintinfo($b); //輸出B INFOprintinfo($c); //輸出C INFO

抽象方法和抽象類

抽象方法是作為子類摸版使用的。

abstract class Person{public $name;abstract function getInfo();}

抽象類不能被實(shí)力話,一個(gè)抽象類中,必須有一個(gè)抽象方法。但是抽象類中可以定義動態(tài)函數(shù)。
接口
當(dāng)一個(gè)類繼承了一個(gè)接口之后,它要覆蓋接口的所有方法,接口只能聲明常量,接口的方法必須定義為共有否則無法繼承,接口可以與多個(gè)接口間繼承
語法:

interface PCI{const TYPE= PCI //public $name; errorfunction start();function stop();接口中的方法可以聲明為staticinterface A{ function a();}interface B{ function b();}interface C extends A{ function c();}class D implements B,C{function a(){}function b(){}function c(){}}

相關(guān)推薦:

PHP OPP機(jī)制和模式簡介(抽象類、接口和契約式編程)_php實(shí)例

以上就是php oop的特性是什么?php oop思想的三大特點(diǎn)介紹的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: av在线免费在线观看 | 久久新网址 | 亚洲精品久久久久久久久久 | 操碰网| 国产做爰全免费的视频黑人 | 欧美国产免费 | 综合网天天射 | 热@国产 | 毛片一级片 | 91久久久国产精品 | 国产污污视频 | 久久综合给合久久狠狠狠97色69 | 国产精品999在线观看 | 国产一区二区在线观看视频 | 国产亚洲精品视频中文字幕 | 久久久久久久久久久国产精品 | 91精品国产乱码久久久久久久久 | 毛片视频网站在线观看 | 福利在线免费 | 欧美a v在线 | 久草在线观看首页 | 日韩黄色影视 | 美女黄网站免费观看 | 久久久久久久.comav | 麻豆视频在线观看 | 香蕉视频网站在线观看 | 九九热视频在线 | 成年人视频在线免费观看 | 91在线视频导航 | 136福利视频| 欧美性精品videofree | www.91tv| 狠狠干狠狠操 | 国产精品一区久久久久 | 成人免费观看在线视频 | 亚洲欧美国产高清 | 国产午夜精品一区二区三区四区 | 一区二区精品在线 | 欧美a∨一区二区三区久久黄 | 神马视频我不卡 | 久久精品亚洲精品国产欧美kt∨ |