當(dāng)前位置:
首頁(yè) >
self this
發(fā)布時(shí)間:2025/7/14
23
豆豆
面向?qū)ο缶幊?OOP,Object OrientedProgramming)現(xiàn)已經(jīng)成為編程人員的一項(xiàng)基本技能。利用OOP的思想進(jìn)行PHP的高級(jí)編程,對(duì)于提高PHP編程能力和規(guī)劃web開(kāi)發(fā)構(gòu)架都是很有意義的。 class?self_test?{?? ?? ????static?$instance;?? ?? ????public?function?__construct(){?? ????????self::$instance?=?'instance';//靜態(tài)屬性只能通過(guò)self來(lái)訪問(wèn)?? ????}?? ?? ????public?function?tank(){?? ????????return?self::$instance;//訪問(wèn)靜態(tài)屬性?? ????}?? }?? ?? $str?=?new?self_test();?? echo?$str->tank();?? 頁(yè)面輸出:instance [php] view plaincopy class?self_test?{?? ?? ????static?$instance;?? ?? ????public?function?__construct(){?? ????????self::$instance?=?'dell';?? ????}?? ?? ????static?public?function?pentium(){?? ????????return?self::$instance;//靜態(tài)方法也可以繼續(xù)訪問(wèn)靜態(tài)變量,訪問(wèn)時(shí)需要加$?? ????}?? ?? ????public?function?tank(){?? ????????return?self::pentium();//訪問(wèn)靜態(tài)方法pentium()?? ????}?? }?? ?? $str?=?new?self_test();?? echo?$str->tank();?? 頁(yè)面輸出:dell
? ? ?2.self可以訪問(wèn)const定義的常量 [php] view plaincopyclass?self_test?{?? ?? ????const??NAME?=?'tancy';?? ?? ????public?function?tank(){?? ????????return?self::NAME;?? ????}?? }?? ?? $str?=?new?self_test();?? echo?$str->tank();?? 頁(yè)面輸出:tancy
二.this 1.this可以調(diào)用本類中的方法和屬性,也可以調(diào)用父類中的可以調(diào)的方法和屬性,可以說(shuō)除過(guò)靜態(tài)和const常量,基本上其他都可以使用this聯(lián)絡(luò) [php] view plaincopyclass?self_test?{?? ????public?$public;?? ?? ????private?$private;?? ?? ????protected?$protected;?? ?? ????public?function?__construct(){?? ????????$this->public?=?'public';?? ????????$this->private?=?'private';?? ????????$this->protected?=?'protected';?? ????}?? ?? ????public?function?tank(){?? ????????return?$this->public;?? ????}?? ?? ????public?function?dell(){?? ????????return?$this->private;?? ????}?? ?? ????public?function?datesrt(){?? ????????return?$this->protected;?? ????}?? }?? ?? $str?=?new?self_test();?? echo?$str->tank();?? echo?"</br>";?? echo?$str->dell();?? echo?"</br>";?? echo?$str->datesrt();?? 頁(yè)面輸出:?public
? ? ? ?private
? ? ? ?protected 一句話,self是引用靜態(tài)類的類名,而$this是引用非靜態(tài)類的實(shí)例名。
這里我主要談的是this,self關(guān)鍵字之間的區(qū)別。從字面上來(lái)理解,分別是指這、自己。先初步解釋一下,this是指向當(dāng)前對(duì)象的指針(可以看成C里面的指針),self是指向當(dāng)前類的指針。我們這里頻繁使用指針來(lái)描述
?
一. self . ? ?1.self可以訪問(wèn)本類中的靜態(tài)屬性和靜態(tài)方法,可以訪問(wèn)父類中的靜態(tài)屬性和靜態(tài)方法。用self時(shí),可以不用實(shí)例化的 [php] view plaincopy? ? ?2.self可以訪問(wèn)const定義的常量 [php] view plaincopy
二.this 1.this可以調(diào)用本類中的方法和屬性,也可以調(diào)用父類中的可以調(diào)的方法和屬性,可以說(shuō)除過(guò)靜態(tài)和const常量,基本上其他都可以使用this聯(lián)絡(luò) [php] view plaincopy
? ? ? ?private
? ? ? ?protected 一句話,self是引用靜態(tài)類的類名,而$this是引用非靜態(tài)類的實(shí)例名。
轉(zhuǎn)載于:https://www.cnblogs.com/songyanan/p/9025740.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: python-包package
- 下一篇: 【剑指offer】面试题 5. 替换空格