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来的方便快捷,只是在阅读代码的时候比较直观

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

原文地址:https://www.cnblogs.com/deemohans/p/11669852.html

时间: 2024-10-10 07:13:24

C++和Java中继承的个人感觉的相关文章

关于Java中继承和接口的理解

关于Java中继承和接口的理解 Java语言中,为了实现代码重用,设计了继承这一机制,但是,其设计成单继承,这样设计是有原因的,如下图: Figure1:deadly diamond of death 此图问题称为菱形问题(diamond problem),就是说,当A的子类B和C同时实现了A中的方法,则同时继承了B和C的子类D在调用该方法时会出现混乱,无法得知该调用哪一个方法. 既然不能实现多继承,我们就会考虑把很多方法就写在父类里,或者继承抽象类,实现其方法,但是,这样会导致一个问题,比如说

Java中继承,类的高级概念的知识点

1. 继承含义 在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance). 2. 继承的优点 A.代码的可重用性 B.子类可以扩展父类的属性和方法 C.父类的属性和方法可用于子类 D.设计应用程序变得更加简单 3. 如何判断类具有继承关系? 类与类的关系:  a. has—a(组合关系) b. is—a(继承关系) 4. Java中继承的实现(关键字:extends)   关键字extends出现在类声明时的类名后,exte

Java中继承thread类与实现Runnable接口的区别

Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. Java代码   package com.threadtest; class MyThread e

c++中继承和java中继承的对比

java中: class Parent{ public void test(int a){ System.out.println("Parent:" + a); System.out.println(this.getClass().getName()); } } class Child extends Parent{ public void test(int a, int b){ System.out.println("Child:" + a + " &q

[转]Java中继承、多态、重载和重写介绍

什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承.多态.重载和重写. 继承(inheritance) 简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型.继承是面向对象的三个基本特征--封装.继承.多态的其中之一,我们在使用JAVA时编写的每一个类都是在继承,因为在JAVA语言中,java.lang.Object类是所有类最根本的基类(或者叫父类.超类),如果

关于Java中继承多接口同名方法的问题

在Java中如果一个类同时继承接口A与B,并且这两个接口中具有同名方法,会怎么样? 动手做实验: 1 interface A{ 2 void fun(); 3 } 4 interface B{ 5 void fun(); 6 } 7 interface C extends A,B{ 8 9 } 10 public class Test implements C{ 11 @Override 12 public void fun() { 13 System.out.println("hehe&quo

Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别

1. Java中线程的创建有两种方式:  (1)通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中. (2)通过实现Runnable接口,实例化Thread类. 2. 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. 继承thread类 1 package com.threadtest; 2 clas

java中继承关系学习小结

继承:把多个类中相同的内容提取出来,定义到一个类中,其他类只需要继承该类,就可以使用该类公开的属性和公开的方法. 继承的好处:提高代码的复用性.提高代码的可维护性.让类与类之间产生关系,是多态存在的一个前提. 继承的弊端:提高了类与类之间的耦合性. 开发的原则:低耦合,高内聚 耦合:类与类之间的关系 内聚:自己单独完成某件事情的能力. 在Java中只允许单继承.一个类如果没有显示的继承其他类,则该类的默认父类为Object类.Object类是所有类的父类. Java支持多层继承. 父类的公开方法

【Java基本功】一文了解Java中继承、封装、多态的细节

本节主要介绍Java面向对象三大特性:继承 封装 多态,以及其中的原理. 本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理. 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来实现多继承. public class Son extends Father{public void go () {System.out.println("son go");}public void eat () {System.out.println("son eat"