C#、C++、JAVA中虚函数和抽象函数的概念对比
2016-12-27 15:12
309 查看
转载▼
标签:计算机it |
2、java中没有虚函数的概念,普通函数就相当于C++中的虚函数,不过可以在函数前加final使函数不能被重写。java中的含有抽象函数,相当于C++中的纯虚函数,java的抽象函数只能在抽象类中定义。java的抽象类不能被实例化,抽象类的子类必须实现全部抽象函数。可见java和C++中,虚函数的相关概念本质上是一致的。
3、C#整合了java和C++,对虚函数有了更明细的划分。定义了虚函数和抽象函数。虚函数定义时,在函数前加virtual,函数必须有实现,在子类中可以重写也可以不重写虚函数,重写虚函数时应在重写的函数前加override关键字。抽象函数不能含有函数实现,类似于接口,在继承的子类中必须重写该函数。另外,抽象函数只能定义在抽象类中,在普通类中定义抽象函数会报错。
可简单对比理解如下:
C++: 虚函数 纯虚函数
java: 普通函数 抽象函数
C#: 虚函数 抽象函数
三种语言相对应的概念是基本一致的。java普通函数就可以被子类重写,而C++、C#中只有虚函数、纯虚函数或抽象函数可以被子类重写;C++的纯虚函数及Java、C#的抽象函数对应的类都是抽象类,且抽象类均不能实例化,只能被子类继承。
分享:
14
喜欢
阅读(1349)┊
评论 (0)┊
收藏(0)
┊转载(2)
┊
喜欢▼
┊打印┊举报
已投稿到: | 排行榜 |
---|
转载列表:
转载
转载是分享博文的一种常用方式...
前一篇:结合windows消息系统理解C#中WndProc函数和DefWndProc函数
后一篇:[转载]转:c/c++ 数字转成字符串, 字符串转成数字
相关文章推荐
- C#、C++、JAVA中虚函数和抽象函数的概念对比
- 【技术】C#、C++、JAVA中虚函数和抽象函数的概念对比
- C#、C++、JAVA中虚函数和抽象函数的概念对比
- Java中的抽象函数与C++中的虚函数
- C++与C#对比学习:函数(三)函数名与变量名同名问题
- 对比C++理解Java函数传参数的方式
- 让我们来比较C#,C++和Java之间重写虚函数的区别
- c#语法与c++ 及 java语法的对比分析
- Java中的抽象函数与C++中的虚函数
- c++ java c#语言特性对比
- C++、JAVA与C#中的多态虚函数、纯虚函数(抽象函数)
- java、C++、C#、 Objective-c语言对比
- C++ 与 Java的成员函数对比
- C++与C#对比学习:函数(一)C#参数传递存在的问题
- C++、JAVA与C#中的多态虚函数、纯虚函数(抽象函数)
- Java中的抽象函数与C++中的虚函数
- C++ Java C#.net VB.net 语法对比(转)
- Java中的抽象函数与C++中的虚函数
- C++与C#对比学习:函数(四)重载函数匹配
- Java基础与案例开发详解のJava与C、C++、C#对比分析