今天阅读《设计模式示例》,看到一段代码涉及到了interface,implements和extends,其实在C++中经常用到。今天特百度,比较了一下:
interface是一个接口,类似于C++中的纯虚函数。
举个简单的例子,有一类东西,都具有同样的行为,而这个共有的行为实现方式不一样。
如:笔这类东西,都有共同的行为“写”,铅笔、毛笔、圆珠笔、钢笔都有“写”的功能,但实现起来不一样。那么我们就可以抽象出一个接口“笔”
interface 笔{
void 写();
}
implement的意思是指在铅笔、毛笔、圆珠笔要有”写“的这个功能,就需要实现接口”笔“的”写“功能。而这个关键字implement就是实现的意思,如:
class 铅笔 implement 笔{
void 写(){
用铅芯画
}
}
class 钢笔 implement 笔{
void 写(){
用墨水画
}
}
而你提到的extends是指一个继承关系,子类继承父类的功能。举个简单的例子:父类”灯“具有”发光“的功能,而子类"台灯",只需要extends父类”灯“就拥有了发光的共功能。
接口和继承的区别,由于时间有限,你参考这篇帖子
时间: 2024-09-29 16:56:18