A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

自己总结了一句话,请大家看一下说的对不对
子类与父类是子与父的关系,子类在父类那里得到的都是祖传的东西;
类与接口是徒弟和师傅的关系,类在接口那里得到的都是自己想要的。

1 个回复

正序浏览
你想问抽象类和接口的区别?????
还是淡出的想知道子类继承父类,和子类实现接口的区别?
子类只能继承一个父类,但是可以实现多个接口
父类中的成员信息都是对事物(对象)本质的抽取
而接口中的成员都是对事物拓展功能的抽取
比如,一个Person类中,姓名,性别,年龄这三个属性,以及吃饭睡觉等都是属于人的本质
而如果是讲英语,打乒乓球等这种就属于拓展功能,我们可以用接口来定义
或者说个简单的,一个Animal类(父类),有name,age属性,eat(),run()方法这些都是事物本质的问题,所以可以放在父类中,让子类继承,子类就有一个Cat,一个Dog
然后狗和猫都继承了Animal类的eat()和run()方法,但是狗还有一个特殊的技能,握手,猫有一个特殊的技能,装死```
那么,我们就可以定义一个接口,叫卖萌,然后狗和猫分别实现这个接口,
当然,你会说,这个时候用抽象类也可以哇,在Animal类中再声明一个抽象方法,就搞定了
这样虽然实现了这个需求,但是不符合设计模式(我前面说过,接口就是对事物拓展功能的抽取)
废话了那么多,希望对你有些帮助吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马