您好,登錄后才能下訂單哦!
/* * 抽象方法和抽象類 * * 1.什么是抽象方法 * 定義:一個(gè)方法如果沒有方法體(一個(gè)方法,不使用{},直接使用分號(hào)結(jié)束的方法,才是沒有方法體的方法),則這個(gè)方法就是抽象方法 * 一、聲明一個(gè)方法,不使用{},而直接分號(hào)結(jié)束 * 二、如果是抽象方法,必須使用abstract(抽象關(guān)鍵字來修飾) * 2.什么是抽象類 * 一、如果一個(gè)類中有一個(gè)方法時(shí)抽象的方法,則這個(gè)類就是抽象類。 * 二、如果聲明一個(gè)抽象類,則這個(gè)類必須使用abstract抽象關(guān)鍵字來修飾 * 注意: * 1.只要使用abstract修飾的類,就是抽象類 * 2.抽象類是一個(gè)種特殊的類,特殊在抽象類中可以有抽象方法 * 3.除了在抽象類中可以有抽象方法外,和正常的類完全一樣。 * 接口是一種特殊的抽象類 * 1.抽象類和接口中都有抽象方法 * 2.抽象類和接口都不能創(chuàng)建實(shí)例對象 * 3.抽象類和接口的使用意義相同 作用相同 * 接口和抽象類相比; * 1.接口中的方法,必須全要是抽象方法(不能用不抽象的方法) 不需要使用abstract 直接使用分隔結(jié)束 * 2.接口中的成員屬性,必須是常量(不能有變量) * 3.所有的權(quán)限必須是公有屬性(public) * 4.聲明接口不使用class 而是使用interface * 接口應(yīng)用的一些細(xì)節(jié) * 1.接口繼承 extends 一個(gè)接口繼承另一個(gè)接口 只有擴(kuò)展新抽象方法,沒有覆蓋的關(guān)系 * 2.可以使用一個(gè)類來實(shí)現(xiàn)接口中的全部方法,可可以使用一個(gè)抽象類,來實(shí)現(xiàn)接口中的部分方法 * (類與接口 抽象類與接口 覆蓋 重寫 實(shí)現(xiàn)接口中的抽象方法) * 3.就不要使用extends這個(gè)關(guān)鍵字,使用implements來實(shí)現(xiàn) * * extends繼承擴(kuò)展 一個(gè)類只能有一個(gè)父類 * 4.一個(gè)類可以在繼承另一個(gè)類的同時(shí),使用implements實(shí)現(xiàn)一個(gè)接口 也可以實(shí)現(xiàn)多個(gè)接口 (一定要先繼承,再實(shí)現(xiàn)接口) * 5.實(shí)現(xiàn)一個(gè)接口,必須實(shí)現(xiàn)接口中所有定義的方法,不能有任何遺漏。 */ //抽象類 abstract class Person{ //抽象方法 abstract function say(); } //接口 interface Demo{ const NAME = '津沙港灣'; function test();//可以省略abstract 方法必須是抽象方法 即沒有方法體{} } //接口繼承 interface Test extends Demo{ } //類 class World{ } //類實(shí)現(xiàn)接口 abstract class WebPage extends World implements Demo{ function test(){ } }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。