C++和Java中继承的个人感觉

Posted deemohans

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++和Java中继承的个人感觉相关的知识,希望对你有一定的参考价值。

  C++中的继承和Java中的继承区别不大,但是对于一个新手来说,C++中使用单冒号继承,

跟Java中的extends相比,java中对新手相对友好一点,C++中“::”和“:”的理解相对于

我这样的新手不太友好。前期只好以会用为主了,比如在继承中单冒号的作用是声明基类。

继承的方式:

(java)

//基类

public 类名

{属性

方法}

//派生类

public 派生类 extends 基类

{属性

方法}

在java中类的访问修饰符是在类前定义可以很方便的看到这个类的类型到底如何,但是

增加代码量这一问题并没有解决。

(c++)

//基类

class 类名

{

属性

方法

}

//派生类(使用单冒号衔接)

class类名:访问修饰符(默认private) 基类名

{

属性

方法

}

c++中并不在类前写访问修饰符来声明作用范围,派生类在继承时使用修饰符

用来判断这个派生类是否是基类的私有或保护或公开。

其中二者的区别在于C++中是支持多继承,而java中仅仅只有单继承。

但由于接口的存在这个并不是一个问题

方法重写:

首先方法重写的调用方法不管在c++还是java中都是使用基类去“装”派生类类型,

这也是多态其中一种方式。区别在于java可以直接重写,而c++中,重写需要用到

“virtual”来声明虚函数,不如java来的方便快捷,只是在阅读代码的时候比较直观

的知道这个函数可能会被重写。

 

以上是关于C++和Java中继承的个人感觉的主要内容,如果未能解决你的问题,请参考以下文章

java中继承的关系

为啥我不能访问派生构造函数的成员初始化列表中继承的受保护字段?

java中继承的好处是啥,在组合和继承中该如何取舍?

JavaScript中继承的实现

探讨 JS 的面向对象中继承的那些事

Typescript中继承的父类中的参数是啥?