參考博文
參考博文
抽象類用來描述一種型別應該具有的基本特徵和功能,具體如何去完成這些行為由子類通過方法重寫來完成,如:
犬科均會吼叫,但屬於犬科的狼與狗其吼叫內容不同。所以犬科規定了有吼叫功能,但並不明確吼叫的細節。吼叫的細節應該由狼與狗這樣的犬科子類重寫吼叫的方法具體實現。
即抽象方法指只有功能宣告,沒有功能主體實現的方法。
abstract修飾符可以用來修飾方法也可以修飾類,如果修飾方法,那麼該方法就是抽象方法;如果修飾類,那麼該類就是抽象類。
抽象類的使用要點:
抽象類中可以沒有抽象方法,但是有抽象方法的類一定要宣告為抽象類。
抽象類不能被例項化,即不能用new來例項化抽象類。
抽象類中的抽象方法只是宣告,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能
抽象類除了不能例項化物件之外,類的其他功能依然存在,屬性、方法、構造方法和普通類一樣。
構造方法,類方法(即用static修飾的方法)不能宣告為抽象方法。
抽象類只能用來被繼承。
抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。
package com.oop.demo07;
//abstract 抽象類
public
abstract
class
test01
/* 1.不能new這個抽象類,只能靠子類去實現它!
2.抽象類中可以寫普通的方法
3.抽象方法必須在抽象類中
*/}class
test02
extends
test01
}class
test03
}
參考博文
介面就是規範,定義的是一組規則,體現現實世界中「如果你是······,則必須······」的思想如果你是天使,則必須會飛。如果是汽車,則必須能跑。
介面的宣告
介面的實現
package com.oop.demo08;
//介面,定義介面的關鍵字:inte***ce
public
inte***ce
userservice
//介面中的定義的所有屬性皆為 public static final(預設可不寫)
int age =99;
//介面中的定義的所有方法其實都是抽象的 public abstract(預設可不寫)
void
add(
int num1,
int num2)
;void
delete
(int num)
;void
update
(string name)
;}
package com.oop.demo08;
public
inte***ce
timer
package com.oop.demo08;
public
class
userserviceimple
implements
userservice
,timer
@override
public
void
delete
(int num)
@override
public
void
update
(string name)
@override
public
void
timer()
public
static
void
main
(string[
] args)
}
實現介面時,應注意:
1. 乙個類可以同時實現多個介面
2.乙個類只能繼承乙個類,但是能實現多個介面
3. 乙個介面能繼承另乙個介面
介面的繼承
package com.oop.demo08;
public
inte***ce
myinte***ce
inte***ce
myinte***ce01
//myinte***ce02 介面繼承了myinte***ce、myinte***ce01介面
//則實現介面myinte***ce02介面的類,需要實現3個方法
inte***ce
myinte***ce02
extends
myinte***ce
,myinte***ce01
class
myinte***ceimp
implements
myinte***ce02
@override
public
void
mytest01()
@override
public
void
mytest02()
}
物件導向 介面類 抽象類
python 沒有介面這個概念 介面類,抽象類 制定乙個規範.介面類,抽象類 python中就是一樣的 1,歸一化設計.2,制定乙個規範,凡是繼承我類的類,必須有我規定的方法.第一版class alipay def init self,money self.money money defpay se...
PHP物件導向 介面類 抽象類
php物件導向在初學時就應該熟練掌握,但許久不用,總會生疏,在此補充記憶物件導向介面和抽象的概念。1.定義乙個介面 inte ce icaneat想實現此介面則需要實現eat方法,2.實現介面 class human implements icaneat 判斷是否實現介面 var dump man ...
python物件導向 抽象類,介面類
python 中沒有介面這個概念 介面類,抽象類就是制定乙個規範 抽象類是乙個特殊的類,它的特殊之處在於只能被繼承,不能被例項化 抽象類的本質還是類,指的是一組類的相似性,包括資料屬性 如all type 和函式屬性 如read write 而介面只強調函式屬性的相似性from abc import...