摘要:抽象類(lèi)本身不能被實(shí)例化,只有一個(gè)類(lèi)繼承了它,并覆蓋了它所有的抽象方法,這樣我們可以實(shí)例化它的子類(lèi)修飾的類(lèi)為接口,接口與抽象類(lèi)有點(diǎn)類(lèi)似,不過(guò)他們的區(qū)別是,接口所有的方法都是抽象方法,接口的抽象方法前面沒(méi)有修飾,成員屬性必須為常量。
類(lèi)修飾符
1.abstract修飾的類(lèi)為抽象類(lèi),如果一個(gè)類(lèi)中含有抽象方法那么這個(gè)類(lèi)就是抽象類(lèi)(當(dāng)然一個(gè)類(lèi)中沒(méi)有抽象方法,我們也可以定義這個(gè)類(lèi)為抽象類(lèi)),那么什么是抽象方法呢,抽象方法就是沒(méi)有方法體的方法(沒(méi)有大括號(hào)和里面的內(nèi)容),抽象方法前面也加上abstract修飾。抽象類(lèi)本身不能被實(shí)例化,只有一個(gè)類(lèi)繼承了它,并覆蓋了它所有的抽象方法,這樣我們可以實(shí)例化它的子類(lèi)
abstract class My{ abstract function say(); } // abstract class My{ function say(){ echo "hello"; } }
2.interface修飾的類(lèi)為接口,接口與抽象類(lèi)有點(diǎn)類(lèi)似,不過(guò)他們的區(qū)別是,接口所有的方法都是抽象方法,接口的抽象方法前面沒(méi)有abstract修飾,成員屬性必須為常量。接口引用區(qū)別于類(lèi)繼承關(guān)鍵字 extends ,繼承只能只是單一性,而接口可以使用關(guān)鍵字 implements 多個(gè)引用并用逗號(hào)分開(kāi)。
interface demo { const NAME = "常量對(duì)象屬性"; function fun1(); function fun2(); //抽象方法。 } class MyPc extends Root implements demo , demo2 , demo3 { ... }
3.final修飾的類(lèi)為終結(jié)類(lèi),它不能被繼承。
訪問(wèn)修飾符1.public 公共的方法和屬性,能在所有的類(lèi)中使用
2.static 靜態(tài)的方法和變量
如果訪問(wèn)控制權(quán)限允許,可不必創(chuàng)建該類(lèi)對(duì)象而直接使用類(lèi)名加兩個(gè)冒號(hào)“::”調(diào)用,static的屬性,在內(nèi)存中只有一份,為所有的實(shí)例共用, 靜態(tài)方法不能調(diào)用非靜態(tài)屬性 。不能使用self::調(diào)用非靜態(tài)屬性。
function test(){ static $a=1; $a*=2; echo $a." "; } test() test() test() //打印結(jié)果 //2 //4 //8
靜態(tài)變量的初始化賦值只有一次,后面的test方法不會(huì)再初始化。
3.private 修飾的方法和變量是私有的,只能在本類(lèi)中調(diào)用(在其他的類(lèi)中實(shí)例化本類(lèi),是無(wú)法調(diào)用private修飾的方法和變量)
4.proteced 受保護(hù)的方法和變量,只能在本類(lèi)和本類(lèi)的子類(lèi)中使用
5.final 修飾的方法不能被覆蓋。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/28898.html
摘要:靜態(tài)屬性靜態(tài)方法目前支持靜態(tài)方法表示,類(lèi)屬性及靜態(tài)屬性目前作為提案還未正式成為標(biāo)準(zhǔn)。在中,抽象類(lèi)不能用來(lái)實(shí)例化對(duì)象,主要做為其它派生類(lèi)的基類(lèi)使用。不同于接口,抽象類(lèi)可以包含成員的實(shí)現(xiàn)細(xì)節(jié)。中也是這樣規(guī)定的抽象類(lèi)不允許直接被實(shí)例化。 嘗試重寫(xiě) 在此之前,通過(guò)《JavaScript => TypeScript 入門(mén)》已經(jīng)掌握了類(lèi)型聲明的寫(xiě)法。原以為憑著那一條無(wú)往不利的規(guī)則,就可以開(kāi)開(kāi)心心的...
摘要:修飾組件引入子組件新舊值父組件新舊值修飾組件引入子組件新舊值區(qū)別只能自己慢慢體會(huì)個(gè)人感覺(jué)用法靈活而只能接受名為為的值兩者都需要手動(dòng)觸發(fā)方法 .sync修飾組件 vue-03 {{ say }} ...
摘要:前言本章介紹正則的擴(kuò)展。屬性屬性表明正則表達(dá)式帶有標(biāo)志。行終止符所謂行終止符,就是該字符表示一行的終結(jié)。比如,只匹配不在美元符號(hào)后面的數(shù)字,要寫(xiě)成。前言本章介紹正則的擴(kuò)展。有些不常用的知識(shí)了解即可。本章原文鏈接:正則的擴(kuò)展RegExp 構(gòu)造函數(shù)從 ES6 開(kāi)始,如果RegExp構(gòu)造函數(shù)第一個(gè)參數(shù)是一個(gè)正則對(duì)象,并且第二個(gè)標(biāo)志存在且為標(biāo)志參數(shù),將不再拋出 TypeError ,將使用這些參數(shù)創(chuàng)...
類(lèi)的更多方面 本節(jié)介紹依賴(lài)于使用對(duì)象引用的類(lèi)的更多方面以及你在前面的對(duì)象部分中了解到的點(diǎn)運(yùn)算符。 從方法返回值 方法返回到調(diào)用它的代碼。 完成方法中的所有語(yǔ)句。 到達(dá)return語(yǔ)句。 或拋出異常(稍后介紹)。 以先發(fā)生者為準(zhǔn)。 你在方法聲明中聲明方法的返回類(lèi)型,在方法體內(nèi),使用return語(yǔ)句返回值。 聲明為void的任何方法都不返回值,它不需要包含return語(yǔ)句,但它可能會(huì)這樣做,在這種...
摘要:可以使用關(guān)鍵字來(lái)定義類(lèi)的靜態(tài)屬性,示例代碼如下輸出輸出抽象類(lèi)有抽象類(lèi)的概念,他是供其他類(lèi)繼承的基類(lèi),不能直接實(shí)例化。抽象類(lèi)必須包含一些抽象方法,同時(shí)也可以包含非抽象的成員。 學(xué)習(xí)Angular 2 , 《揭秘Angular 2》讀書(shū)筆記。Angular2 選擇 TypeScript 作為其官方最主要的構(gòu)建語(yǔ)音,這意味著掌握 TypeScript 語(yǔ)音將更有利于高效地開(kāi)發(fā) Angular...
閱讀 3215·2021-09-22 15:50
閱讀 3466·2021-09-10 10:51
閱讀 3231·2019-08-29 17:10
閱讀 2991·2019-08-26 12:14
閱讀 1896·2019-08-26 12:00
閱讀 1100·2019-08-26 11:44
閱讀 717·2019-08-26 11:44
閱讀 2880·2019-08-26 11:41