Android 什么时候该用interface 什么时候该用abstract(自己看得明白 yes)

interface 接口:其内部不能有实现的方法 只能是未实现的方法 如果继承了接口就必须要实现接口里面的方法 讲到这也就明白一点 但是 什么时候要用接口呢?

举个例子吧 像android里面写代码的时候 一般来说是这样的 比如你有一个A类 这个A类继承了Activity 并实现了OnClickListener

public class A extends Activity implements OnClickListener {}

像这样 这时候你必须要实现OnClickListener里面的方法 就是

 @Override
 public void onClick(View v) {}

也就是说如果你有方法是想要继承你的实现 也就是实现接口 就可以把他写成接口

假如你们团队有两个人 现在要开发一个项目然后这个项目用到数据库 你们两个写代码的时候肯定都要用到数据库 比如你们有很多表 有很多操作数据库的时候 现在项目经理让你写数据库操作部分的代码  但是这些方法一时半会写不好 但是又不能耽误进度 这个时候你就可以用接口怎么用呢比如:

public interface IDBHelper {
 void deleteFav(String where);
 Content queryContent(String where);
 Menu queryMenu(String where);

………………

}


 

实现的时候就:

public class DBHelper implements IDBHelper {

 public void deleteFav(String where) {

 }

 public Content queryContent(String where) {
  return null;
 }

 public Menu queryMenu(String where) {
  return null;
 }

…………

}


 

这样一来别人就可以调用了 你自己也可以慢慢写方法 

so不用等到方法写完 先把接口定义好 方便于之间调用 其不两全其美?

接口调用:

IDBHelper dbHelper=new DBHelper();

dbHelper.deleteFav("");


 

面再看下什么时候该用 abstract

接上 现在DBHelper实现了IDBHelper 我们所知道的DBHelper是公用类 也就是大家都用

假如A同事觉得DBHelper的方法不够多 或者是你想添加一个insertContent方法

又假如B同事觉得要再添加一个insertFav方法

C同事觉得………………等 这样一来这个方法就乱套了 大家你加一个 我加一个 显然不利于维护

这个时候就要用到abstrace 把DBHelper定义成abstrace大家都继承DBHelper然后在里面添加自己想添加的方法 同时也可使用他原有的方法 其不是两全其美?

注:抽象类必须有子类实现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值