代碼規範之子類重寫抽象父類中的抽象方法

一般是一個基類BaseActivity,裏面有未實現方法initView,initController等等,並且這些方法在BaseActivity中的生命週期(Activity一定會走的生命回調,onCreate,OnResume等等)中使用;那麼在子類Activity中重寫這些方法即可,無需在子類中使用這些方法,既會被父類自動調用

 

 

 

 

 

 

父類:

首先,父類有一個抽象的方法,並且在自身的其他方法中調用了

public abstract class Baba{

public abstract String say();

public void dosomething(){

say();

}

}

父類Baba,有一個say的抽象方法沒有實現,並且在dosomething中調用了。如果直接調用dosomething方法會報錯;

 

 

子類:

public class Erzi extends Baba{

public String say(){

return "hahaha";

}

}

 

然後在另一個類中調用父類的dosomething方法,實際上是實現了子類中自己實現的say方法;

Erzi erzi=new Erzi();

erzi.dosomething();

 

 

 

一般用於父類的抽象方法或(方法)由子類來實現,如果這個方法是有返回值的,就可以將返回的值傳給父類中的方法(一般用法);

還有一種可能:父類的抽象方法(方法)由子類來實現,這個方法是沒有返回值的,就代表父類只想讓子類進行某些操作而不是返回值給父類使用;

 

 

 

實戰場景:有一個界面,大部分的框架都是相同的,但是內容不一樣;父類內容相同的部分可以在父類內部實現,內容不同但是框架相同可以抽象出來交給子類去實現,子類將不同內容但是相同框架的部分返回給父類,這樣父類就可以將這些內容作爲自己的東西進行整體的構建;MobileFirewallFragment,FirewallListFragment,BaseFragment,詳情請看這三個類中的子類和父類的方法實現;

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章