最新下载
热门教程
- 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
相关文章
- 无主之地4能更换职业吗 职业变更介绍 09-15
- 原神夜兰绘想游迹怎么打-夜兰绘想游迹通关打法攻略 09-15
- 三角洲行动霰弹枪怎么改 霰弹枪改枪方案汇总 09-15
- 无主之地4贩卖机购买建议 贩卖机哪些值得购买 09-15
- 三角洲行动轻机枪怎么改 轻机枪改枪方案代码汇总 09-15
- 无主之地4投投乐任务怎么做 投投乐支线攻略 09-15