JAVA与C++继承关系比较

JAVA与C++继承关系比较

继承在面向对象开发思想中是一个非常重要的概念,它使整个程序架构具有一定的弹性,在程序中复用一些己经定义完善的类不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性。

JAVA:

在Java中使用extends关键字来标识两个类的继承关系,接下来用一段简单的代码测试一下。

class Parent {//父类
    Parent() {  //构造方法
    System.out.println("调用父类构造方法");
    }
    protected void doSomething(){ //成员方法
    System.out.println("调用父类成员方法");
    }
}
class Son extends Parent{       //继承父类
public Son(){                            //构造方法
super();               //调用父类构造方法
super.doSomething();  //调用父类成员方法
}
public void doSomethingNew(){
System.out.println("子类新增成员方法");
}
public void doSomething(){
System.out.println("重写父类方法");
}
}
package hello;  
public class hellojava { 
public static void main(String[] args){
Parent parent=new Parent(); 
parent.doSomething();
Son son=new Son();
son.doSomethingNew();
son.doSomething();
}
}

执行结果如图
JAVA与C++继承关系比较_第1张图片

C++:

而在C++中使用‘ : ’ 来标识两个类的继承关系

#include 
using namespace std;
class Shape{   // 基类
   public:
      void setWidth(int w) {
         width = w;
      }
      void setHeight(int h) {
         height = h;
      }
   protected:
      int width;
      int height;
};
 
// 派生类
class Rectangle: public Shape{
   public:
      int getArea() { 
         return (width * height); 
      }
};
 
int main(void){
   Rectangle Rect;
   Rect.setWidth(5);
   Rect.setHeight(7);
   cout << "Total area: " << Rect.getArea() << endl;    // 输出对象的面积
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Total area: 35

你可能感兴趣的:(JAVA,C++,继承)