abstract和interface的区别

本文探讨了抽象类(abstract)与接口(interface)的区别,包括它们的编程特性和设计理念。介绍了开闭原则(OCP),并解释了如何通过抽象来实现这一原则。文中详细对比了两者在继承、变量定义及方法实现上的不同。

abstract和interface的区别:

 

OCP open-closed principle开闭原则,即设计一个模块的时候,应当使这个模块在不被修改的前提下别扩展,在不修改源码的情况下改变这个模块的行为。抽象是实现ocp的关键。

 

1)从编程的角度看,(1)abstract是一个类而interface是一个接口。所以在继承的时候,只能继承一个abstract但是可以实现多个interface。(2)abstract中可以定义变量,默认是friendly,其值可以在子类中修改;interface里面的变量都必须定义成常量,切不可修改。(3)abstract中可以定义正常的方法,但是interface中不可以。

 

2)设计理念角度,(1)abstract是is-a的关系,interface是like-a的关系。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值