java的接口和C++虚类的相同和不同之处
2015-07-18 16:35
260 查看
C++虚类相当于java中的抽象类,与接口的不同之处是:
1.一个子类只能继承一个抽象类(虚类),但能实现多个接口
2.一个抽象类可以有构造方法,接口没有构造方法
3.一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体),接口中的方法都是抽象方法,不能有方法体,只有声明
4.一个抽象类可以是public、private、protected、default,接口只有public
5.一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default
相同之处是:都不能实例化。
补充说明:接口是一类特殊的抽象类,是更抽象的抽象类,你可能这样理解。抽象类是一个不完整的类,接口只是定义了一些功能。打个比方,用抽象类和接口分别描述“狗”,抽象类就是在一般类之前加abstrict说:“猪能用四肢跑,猪和能这样或者那样...”,接口的话就只能说:“猪会跑,用什么跑就是子类来讲了”
1.一个子类只能继承一个抽象类(虚类),但能实现多个接口
2.一个抽象类可以有构造方法,接口没有构造方法
3.一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体),接口中的方法都是抽象方法,不能有方法体,只有声明
4.一个抽象类可以是public、private、protected、default,接口只有public
5.一个抽象类中的方法可以是public、private、protected、default,接口中的方法只能是public和default
相同之处是:都不能实例化。
补充说明:接口是一类特殊的抽象类,是更抽象的抽象类,你可能这样理解。抽象类是一个不完整的类,接口只是定义了一些功能。打个比方,用抽象类和接口分别描述“狗”,抽象类就是在一般类之前加abstrict说:“猪能用四肢跑,猪和能这样或者那样...”,接口的话就只能说:“猪会跑,用什么跑就是子类来讲了”
相关文章推荐
- freopen - C/C++文件输入输出利器
- C语言中的格式字符 格式修饰符 运算符的优先级
- 2015年ALPC暑期专题练习I (计算几何) A
- 算法导论 第二十一章:不相交集合森林
- C++实现简单的对象池
- C语言程序设计9
- 作死向之C++告别演出——课程设计(银行储蓄系统(大BUG+功能不完整版))
- C语言程序设计7--8章
- C++ 使用STL string 实现的split,trim,replace-修订
- C++ 使用STL string 实现的split,trim,replace-修订
- C++ string.replace的使用
- C++ string.replace的使用
- C++ typedef用法小结
- iOS C语言7.2_结构体多文件
- 【C++】指针解析
- C++智能指针
- VC++ 控件赋值取值
- VC++ 控件赋值取值
- C++ ostream类包含的一个简单的用于控制格式的成员函数setf precision
- C++单元测试入门指南-在eclipse上建立Google test