重写和重载的区别_面试刷题13:接口和抽象类有啥区别?

9265c9f31a3735069d8b248321d3810b.png


掌握面向对象的原则可以提高开发,沟通的效率和质量。


我是李福春,我在准备面试,今天的问题是:


接口和抽象类有什么区别?


接口和抽象类是面向对象语言的重要设计元素。


区别如下:

343194a15effe4a6d7dc96ce53ef9480.png


下面扩展一下,面试官可能延伸的问题。

面向对象的特性


封装: 一切皆对象,对象具备成员和方法,封装了内部细节,使得具备边界,提高程序的安全性和简洁性;


继承:代码复用的手段,是一种强耦合关系,但是只能单继承,应该避免过度使用继承


多态:通过抽象类和接口都可以实现多态,在不同的实现类或者子类中,行文定义有不同的实现形态。

重写和重载


重写是方法签名一致


重载是方法名称一致,返回值一致,而参数列表不一致。

SOLID设计模式原则


在做软件研发的过程中,如何写出高质量的代码,借鉴设计模式的几个原则作为检查依据很有必要。


S: Single 单一职责 ,类中做的事情单一


O: Open close 开闭原则 ,对扩展开放,对修改关闭


L: lis 里斯替换 , 接口实现类或者子类可以上转型为 接口和抽象类


I: Interface 接口隔离 接口要按照使用场景分开,避免耦合


D: Dependency 依赖倒转 , 应该依赖接口或者抽象类编程,而不是具体的实现,可以提高程序的扩展性

小结


本篇回答了接口和抽象类的区别,实际上这是面向对象设计的重要元素。

理解区别,在实际编程工作中使用,就是面向对象原则的灵活应用。


然后回顾了这两货后面的基础知识,面对对象的原则(3大原则),设计模式的基本原则 SOLID 。


汇总一下如下图:

cc52d7f93967c6cfbd958545a7511be6.png

原创不易,转载请注明出处,让我们互通有无,共同进步,欢迎多沟通交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值