亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

詳談PHP中public,private,protected,abstract等關鍵字的相關用法

2020-03-22 18:35:34
字體:
來源:轉載
供稿:網友
下面小編就為大家分享一篇詳談PHP中html' target='_blank'>public,private,protected,abstract等關鍵字的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

PHP中常用的關鍵字

在PHP中包含了很多對函數和類進行限制的關鍵字,常用的通常有abstract,final,interface,public,protected,private,static等等,下面我們就將對這些進行分析整理各個的用法。

變量與方法的關鍵字public,private,protected

public的權限最大,既可以讓子類使用,也可以支持實例化之后的調用,

protected表示的是受保護的,訪問的權限是只有在子類和本類中才可以被訪問到

private 表示的是私有,只能夠是在當前的類中可以被訪問到

 ?php* Define MyClassclass MyClass public $public = Public  protected $protected = Protected  private $private = Private  public function printHello() echo $this- public; echo $this- protected; echo $this- private; protected function pro_test(){ var_dump(1);$obj = new MyClass();echo $obj- public; // 這行能被正常執行//echo $obj- protected; // 這行會產生一個致命錯誤//echo $obj- private; // 這行也會產生一個致命錯誤$obj- printHello(); // 輸出 Public、Protected 和 Private$obj- pro_test();//直接報錯? 

變量與方法的關鍵字static

static的作用就是能夠實現值或者方法在類中不需實例化的情況下調用,同時static修飾的變量具有與值存儲的功能,例如我們不使用static運行的結果如下:

 ?phpfunction test(){ $var=1; echo $var. /br  $var++;test();// 1test();// 1test();// 1? 

如果我們給變量加上static那么就會變成這樣

 ?phpfunction test(){ static $var=1; echo $var. /br  $var++;test();// 1test();// 2test();// 3? 

這里可能不能夠體會到PHP這樣做的好處,那么我們就先來假設一下讀者也熟悉JS,在JS中是沒有static這個關鍵字的,所以如果我們要來實現一個具有能夠保存每一次程序運算結果作為下一次運算的依據的一個程序我們需要這樣來寫。

var glo=0; function test(){ glo++; document.writeln(glo); test(); test(); test();

這樣就會把glo泄漏到全局變量中,如果生成的變量比較多,就會導致內存泄露(內存泄漏所指代的就是變量占用過多的內存空間沒有別釋放)

 script  var glo=0; function test(){ glo++; document.writeln(glo); test();// 1 test();// 2 test();// 3  /script 

所以相比于在沒有定義static的語言中,它具有一個優勢是保持變量,不泄露內存,也不容易導致全局變量被誤用(因為作用域不在全局)

$age=0;$age++;function test1() { static $age = 100; $age++; echo $age. /br function test2() { static $age = 1000; $age++; echo $age. /br test1(); // 101test2(); // 1001

class與方法的關鍵字final

final只能夠用來修飾class與function,使用了final之后就不能夠被繼承,例如如下的代碼就會直接報錯

class BaseClass { public $public = Public  function test() { echo BaseClass::test() called/n  final public function moreTesting() { echo BaseClass::moreTesting() called/n class ChildClass extends BaseClass { public function moreTesting() { echo ChildClass::moreTesting() called/n }

特殊關鍵字interface,abstract

interface的意義在于規范編程的風格,設想一下就是如果是實現了一個接口那么我們在使用這個接口類的時候就必須要實現里面的方法,起到了統一命名的作用。

class是可以多繼承接口的,接口與接口之間的單繼承是通過extends來實現的,class與接口之間的關系確立是通過implements

示例代碼:

 ?phpinterface testA{ function funcA();interface testB{ function funcB();interface testC extends testA { function funcC();class run implements testC ,testB { public function funcA() // TODO: Implement funcA() method. public function funcB() // TODO: Implement funcB() method. public function funcC() // TODO: Implement funcC() method.? 

abstract的作用跟interface其實是一樣的,但是在interface中所有的方法都是必須要實現的,但是在abstract修飾的類中,可以有一個或者是多個的abstract修飾方法,所以我們可以這樣理解,interface就是abstract的一種特殊情況(當所有的方法都是抽象方法,都是必須要實現的)。abstract有以下的這些特征:

1. 只要類中有至少一個方法使用了abstract關鍵字,那么這個類是abstract,要加上相應的關鍵字

2. 抽象方法,只有方法的聲明部分,沒有方法體。

但是在我看來,abstract在實際的應用中有這樣的幾種場景

1. 多人編程的時候規范公共部分的命名規則(不做任何說明,原理跟interface一樣)

2. 實現不讓父級直接實例化使用

樣式代碼如下:

 ?phpabstract class shopping public function buy() echo buy  public function loan() echo loan class leslieBuy extends shopping//$test1=new shopping;//直接語法錯誤$leslieSie = new leslieBuy;$leslieSie- loan();//打印出loan? 

以上這篇詳談PHP中public,private,protected,abstract等關鍵字的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持php 。

您可能感興趣的文章:

PHP讓數組中有相同值的組成新的數組實例講解

解決PHP字符串長度不一致的問題詳解

命令行執行php腳本中的$argv和$argc配置方法_php實例

以上就是詳談PHP中public,private,protected,abstract等關鍵字的相關用法的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品久久久久久久99热浪潮| 97国产精品视频人人做人人爱| 日韩av色综合| 亚洲奶大毛多的老太婆| 国产精品旅馆在线| 日韩性xxxx爱| 亚洲成人精品久久| 成人激情免费在线| 欧美激情喷水视频| 最近2019中文字幕一页二页| 欧美丝袜美女中出在线| 亚洲日本中文字幕免费在线不卡| 国模叶桐国产精品一区| 91久久精品国产| 国产精品爱啪在线线免费观看| 亚洲国产另类久久精品| 91免费视频国产| 国内精品久久久| 欧美在线免费视频| 日本成人精品在线| 超碰91人人草人人干| 96精品久久久久中文字幕| 国产精品美女无圣光视频| 亚洲直播在线一区| 日韩美女福利视频| 国产精品流白浆视频| 久久99精品久久久久久青青91| 久久精品一偷一偷国产| 中文字幕亚洲一区二区三区| 亚洲天堂男人的天堂| 国产免费一区视频观看免费| 日韩欧美精品网址| 久久中国妇女中文字幕| 色中色综合影院手机版在线观看| 97色在线播放视频| 18性欧美xxxⅹ性满足| 久久亚洲精品成人| 久久精品中文字幕一区| 国产suv精品一区二区| 在线精品国产欧美| 亚洲成人av中文字幕| 日韩在线观看你懂的| 国产精品久久久久久久久久新婚| 粗暴蹂躏中文一区二区三区| 久久久久久亚洲精品不卡| 欧美一级成年大片在线观看| 亚洲国产精品成人一区二区| 欧美最顶级的aⅴ艳星| 成人久久久久久久| 中文字幕亚洲欧美日韩在线不卡| 亚洲va久久久噜噜噜| 精品国内产的精品视频在线观看| 欧美亚洲另类视频| 欧美激情网友自拍| 在线精品91av| 精品久久久精品| 欧美成人精品一区二区三区| 成人写真福利网| 久久视频在线免费观看| 亚洲人成自拍网站| 日韩精品中文字幕久久臀| 欧美日韩色婷婷| 久久综合久中文字幕青草| 亚洲aⅴ男人的天堂在线观看| 亚洲va电影大全| 亚洲自拍高清视频网站| 亚洲码在线观看| 日本中文字幕不卡免费| 美日韩丰满少妇在线观看| 久久久人成影片一区二区三区观看| 亚洲男人天堂九九视频| 久久久久久香蕉网| 亚洲影影院av| 成人av在线天堂| 色中色综合影院手机版在线观看| 日韩在线视频播放| 日韩成人高清在线| 国产精品美女av| 日本三级久久久| 国产日韩换脸av一区在线观看| 亚洲欧美中文在线视频| 日韩在线资源网| 日韩暖暖在线视频| 亚洲性69xxxbbb| 国产精品久久久久高潮| 亚洲综合在线中文字幕| 成人国产精品久久久| 亚洲va国产va天堂va久久| 欧美日韩国产成人| 国产精品久久不能| 一区二区三区美女xx视频| 按摩亚洲人久久| 在线成人激情黄色| 成人激情视频在线| 久久精品国产久精国产思思| 欧美激情喷水视频| 国产自产女人91一区在线观看| 国产在线视频一区| 操日韩av在线电影| 日本精品久久久久影院| 精品视频久久久久久久| 亚洲美女精品久久| 欧美精品在线视频观看| 色樱桃影院亚洲精品影院| 欧美成人精品不卡视频在线观看| 日韩电视剧免费观看网站| 亚洲欧美在线磁力| 中文字幕日韩欧美精品在线观看| 欧美亚洲激情视频| 欧美伊久线香蕉线新在线| 国产人妖伪娘一区91| 国产亚洲精品成人av久久ww| 亚洲第一天堂av| 97视频免费在线看| 国产精品一区专区欧美日韩| 91精品国产免费久久久久久| 国产精品欧美日韩久久| 国产精品露脸av在线| 日韩av中文字幕在线| 亚洲成人精品久久久| 国产精品久久国产精品99gif| 91免费综合在线| 精品久久久久久久大神国产| 日日噜噜噜夜夜爽亚洲精品| 98精品国产高清在线xxxx天堂| 国产香蕉97碰碰久久人人| 国产精品va在线| 2019亚洲男人天堂| 国产97人人超碰caoprom| 黑人精品xxx一区| 91香蕉国产在线观看| 91精品久久久久久久久| 2019中文字幕在线观看| 81精品国产乱码久久久久久| 91国产高清在线| 亚洲国产高潮在线观看| 欧美精品18videos性欧| 欧美黑人xxx| 亚洲图片欧美午夜| 国产精品免费一区二区三区都可以| 久久综合色影院| 久久视频在线看| 黑人巨大精品欧美一区二区免费| 日韩av中文字幕在线播放| 日韩美女av在线免费观看| 国产91精品青草社区| 欧美大片在线免费观看| 91av在线免费观看视频| 亚洲自拍偷拍网址| 亚州av一区二区| 日韩在线精品一区| 2019中文字幕全在线观看| 久久中文字幕国产| 亚洲成人免费在线视频| 久久伊人精品一区二区三区| 精品二区三区线观看| 欧美午夜激情小视频| 日韩亚洲精品视频| 97在线视频精品| 亚洲视频电影图片偷拍一区| 日韩国产精品视频| 精品久久久久久久久久| 欧美激情综合亚洲一二区| 国产精品视频一区二区三区四|