最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
JAVA 的interface观念 与C++ 多重继承的比较
时间:2022-11-14 23:26:38 编辑:袖梨 来源:一聚教程网
interface与多重继承的观念
不管是Java的interface或是C++的多重继承╋在物件导向的理论里╋都算是蛮新颖的概念。所以这里我们谈的╋是以程式语言的角度╋看看Java interface的所有意义与功能╋是否C++的多重继承能全部诠释?或是相反地以Java的来诠释C++的。
首先让我们来复习一下什么是C++的多重继承。
「继承」通常在物件导向程式语言中╋扮演着程式码的重复利用的重责大任╋而C++的多重继承则让某一个子类别可以继承许多分属于不同资料型别的父类别如下:
#include
class Test1 {
public:
virtual void f1() {puts("Test1::f1()"; }
virtual void g1() {puts("Test1::g1()"; }
};
class Test2 {
public:
virtual void f2() { puts("Test2::f2()"; }
virtual void g2() { puts("Test2::g2()"; }
};
class Test3 : public Test1, public Test2 {
public:
virtual void gg() { puts("Test3::gg()"; }
};
void main() {
Test3 t3; t3.f1(); t3.f2();
t3.g1(); t3.g2(); t3.gg();
}
// 程式输出:
Test1::f1() Test2::f2() Test1::g1()
Test2::g2() Test3::gg()
程式1
不管是Java的interface或是C++的多重继承╋在物件导向的理论里╋都算是蛮新颖的概念。所以这里我们谈的╋是以程式语言的角度╋看看Java interface的所有意义与功能╋是否C++的多重继承能全部诠释?或是相反地以Java的来诠释C++的。
首先让我们来复习一下什么是C++的多重继承。
「继承」通常在物件导向程式语言中╋扮演着程式码的重复利用的重责大任╋而C++的多重继承则让某一个子类别可以继承许多分属于不同资料型别的父类别如下:
#include
class Test1 {
public:
virtual void f1() {puts("Test1::f1()"; }
virtual void g1() {puts("Test1::g1()"; }
};
class Test2 {
public:
virtual void f2() { puts("Test2::f2()"; }
virtual void g2() { puts("Test2::g2()"; }
};
class Test3 : public Test1, public Test2 {
public:
virtual void gg() { puts("Test3::gg()"; }
};
void main() {
Test3 t3; t3.f1(); t3.f2();
t3.g1(); t3.g2(); t3.gg();
}
// 程式输出:
Test1::f1() Test2::f2() Test1::g1()
Test2::g2() Test3::gg()
程式1
相关文章
- 《无限暖暖》围巾蚯蚓具体作用介绍 12-24
- 《无限暖暖》星夜守望连衣裙获得方法介绍 12-24
- 《无限暖暖》魔物试炼幻境解锁方法介绍 12-24
- 《无限暖暖》磐岩晶石获得方法介绍 12-24
- 《无限暖暖》巨石岩仔打法攻略分享 12-24
- 《无限暖暖》布布果在哪 12-24