摘要:面向?qū)ο笕f事萬物皆對(duì)象面向?qū)ο笥⒄Z,縮寫是軟件開發(fā)方法。面向?qū)ο笫且环N對(duì)現(xiàn)實(shí)世界理解和抽象的方法,是計(jì)算機(jī)編程技術(shù)發(fā)展到一定階段后的產(chǎn)物。
面向?qū)ο?/b>
萬事萬物皆對(duì)象
面向?qū)ο?英語:Object-oriented programming,縮寫:OOP)是軟件開發(fā)方法。面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計(jì)和軟件開發(fā),擴(kuò)展到如數(shù)據(jù)庫系統(tǒng)、交互式界面、應(yīng)用結(jié)構(gòu)、應(yīng)用平臺(tái)、分布式系統(tǒng)、網(wǎng)絡(luò)管理結(jié)構(gòu)、CAD技術(shù)、人工智能等領(lǐng)域。面向?qū)ο笫且环N對(duì)現(xiàn)實(shí)世界理解和抽象的方法,是計(jì)算機(jī)編程技術(shù)[1] 發(fā)展到一定階段后的產(chǎn)物。
類 ? 定義了一件事物的抽象特點(diǎn)。類的定義包含了數(shù)據(jù)的形式以及對(duì)數(shù)據(jù)的操作
對(duì)象 ? 是類的實(shí)例。
php 類創(chuàng)建一個(gè)簡(jiǎn)單的類
實(shí)例化對(duì)象類
類的控制訪問
public(公有):公有的類成員可以在任何地方被訪問。
protected(受保護(hù)):受保護(hù)的類成員則可以被其自身以及其子類和父類訪問。
private(私有):私有的類成員則只能被其定義所在的類訪問。
類的屬性與方法屬性-> 就是類里邊的變量
方法-> 類里邊的方法
aa(); ?>類的常量
const 關(guān)鍵字
class MyClass { const constant = "常量值"; function show() { echo self::constant; } } echo MyClass::constant ;類的構(gòu)造方法和析構(gòu)方法
類的繼承以及final
extends 關(guān)鍵字
aa(); ?>
final 關(guān)鍵字
aa(); ?>調(diào)用父類構(gòu)造方法
parent 關(guān)鍵字
static關(guān)鍵字
命名空間
namespace 必須放在代碼的第一行
以下類型會(huì)受到命名空間的影響
類(包括抽象類,traits),接口,函數(shù),常量
簡(jiǎn)單調(diào)用命名空間的類
use va; var_dump(new a());
重命名
use va as a2; var_dump(new a2());導(dǎo)入函數(shù)
導(dǎo)入函數(shù)
類的自動(dòng)加載
__autoload()函數(shù) php內(nèi)置的
后期的靜態(tài)綁定 魔術(shù)變量
class Test{ private $abc = ""; public function setAbc( $val ){ $this->abc = $val; } public function getAbc( $val ){ $this->abc; } } $test = new Test(); $test->setAbc("abc"); var_dump($test->getAbc());
__set
__get
class Test{ private $abc = ""; public function __set( $name,$val ){ $this->$name = $val; } public function __get( $name ){ $this->$name; } } $test = new Test(); $test->abc = "1234567"; var_dump($test->abc)
isset
class Test{ private $abc = "abc"; public function __isset($val){ return isset($test->$val) ? true : false; } } $test = new Test(); var_dump(isset($test->abc));
__unset
class Test{ private $abc = "abc"; public function __unset($val){ echo("__unset:" . $val); unset($this->$val); } } $test = new Test(); unset($test->abc);
__call
class Test{ public function __call($func,$cs){ echo($func);//方法名 print_r($cs);//傳入的參數(shù) } } $test = new Test(); $test->go(1,ok);
__callStatic
class Test{ public static function __callStatic($func,$cs){ echo($func);//方法名 print_r($cs);//傳入的參數(shù) } } Test::go();
__invoke 當(dāng)對(duì)象被當(dāng)作函數(shù)調(diào)用時(shí)執(zhí)行的
class Test{ public function __invoke($func){ var_dump($func); } } $test = new Test(); $test("asadasd");
__toString 當(dāng)你打印對(duì)象的時(shí)候執(zhí)行
class Test{ public function __toString(){ return "hello...."; } } $test = new Test(); echo($test);對(duì)象拷貝和類型約束
淺拷貝
class A{ public $age = 10; public $name = ""; public $name = null; } $a = new A(); $b = $a; $b->age = 1; var_dump($a->age);
深拷貝
class A{ public $age = 10; public $name = ""; public $name = null; } $a = new A(); $b = clone $a; $b->age = 1; var_dump($a->age);
類型約束
class A{ public $name = ""; public function go(){ echo "12345678900987654321"; } } function text(A $a){ $a->go(); } text(new A());Trait關(guān)鍵字
php單繼承 只能繼承一個(gè)類
trait Bt{ public function a(){ echo "aaa"; } public function b(){ echo "bbb"; } public function c(){ $this->a(); $this->b(); } } class Text{ use Bt; } $test = new Test(); $test->c();接口類和抽象類以及設(shè)計(jì)模式
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/30667.html
摘要:二面向?qū)ο笥惺裁刺卣髅嫦驅(qū)ο蟮闹饕卣饔谐橄罄^承封裝和多態(tài)。析構(gòu)函數(shù)析構(gòu)函數(shù)是在引入的,它的作用與調(diào)用時(shí)機(jī)和構(gòu)造函數(shù)剛好相反,它在對(duì)象被銷毀時(shí)自動(dòng)執(zhí)行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。PHP中面向?qū)ο蟪?嫉闹R(shí)點(diǎn)有以下7點(diǎn),我將會(huì)從以下幾點(diǎn)進(jìn)行詳細(xì)介紹說明,幫助你更好的應(yīng)對(duì)PHP面試常考的面向?qū)ο笙嚓P(guān)的知識(shí)點(diǎn)和考題。整個(gè)面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來。注意中,對(duì)象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來。注意中,對(duì)象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來。注意中,對(duì)象一定是通過類的實(shí)例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:面試專欄正式起更,每周一三五更新,提供最好最優(yōu)質(zhì)的面試內(nèi)容。繼上一篇面試常考內(nèi)容之面向?qū)ο蟀l(fā)表后,今天更新面向?qū)ο蟮淖詈笠黄C嫦驅(qū)ο蟮闹饕卣鳛榉庋b繼承多態(tài)。為了提高內(nèi)聚性減少引起變化,單一原則是低耦合高內(nèi)聚的面向原則上的引申。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。繼上一篇PHP面試常考內(nèi)容之面向?qū)ο螅?)發(fā)表后,今天更新面向?qū)ο蟮淖詈笠黄?...
摘要:一面向?qū)ο蟮母拍钍裁词敲嫦驅(qū)ο笫篱g萬物皆對(duì)象,抽象的也是對(duì)象,一切可見或不可見都是對(duì)象對(duì)象的基本組成對(duì)象包含兩個(gè)部分對(duì)象的組成元素是對(duì)象的數(shù)據(jù)模型,用于描述對(duì)象的數(shù)據(jù)又稱為對(duì)象的屬性,或者對(duì)象的成員變量對(duì)象的行為是對(duì)象的行為模型,用于描述對(duì) 一、面向?qū)ο蟮母拍?1.1 什么是面向?qū)ο?object oriented) ?????世間萬物皆對(duì)象,抽象的也是對(duì)象,一切可見或不可見都是對(duì)象 ...
閱讀 3216·2021-11-23 09:51
閱讀 3558·2021-11-09 09:46
閱讀 3655·2021-11-09 09:45
閱讀 2938·2019-08-29 17:31
閱讀 1860·2019-08-26 13:39
閱讀 2715·2019-08-26 12:12
閱讀 3614·2019-08-26 12:08
閱讀 2235·2019-08-26 11:31