代码规范之子类重写抽象父类中的抽象方法

一般是一个基类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,详情请看这三个类中的子类和父类的方法实现;

 

 

你可能感兴趣的:(miui)