(29)成员定义在类中,定义在接口中,如何选择

简单说:共性定义在类中,个性定义在接口中


学生的共性是学习,对于吸烟这个函数,若定义在学生类中,则每个对象及其子类都吸烟,这是不符合常理的。所以用接口定义吸烟这个功能,学生类中的吸烟学生类既然还是学生,就必定学习,所以继承学生类,实现该类学生的个性吸烟接口。

随着研究对象的不同,吸烟不一定就是接口,比如研究的就是烟瘾患者,就是类中的函数,这类研究对象的个性再定义在接口中

比如研究球员,类内可定义打球函数,有的球员学习游泳,那么可以定义关于游泳的接口,对于会游泳的球员类实现游泳接口,继承球员类




public class Student {
	public void study() {
		System.out.println("学生都学习啊!!");
	}

}

public interface Smoking {

    public abstract void  smoke();
} 
public class smokeStudent extends Student implements Smoking {

    @Override
    public void smoke() {
        // TODO Auto-generated method stub
          System.out.println("抽烟的学生啊!!");
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值