继承

原创 2015年07月07日 20:08:54

继承:在面向对象编程中可以通过一个扩展一个已有类病继承该类的属性和行为。来创建一个新的类这种方式叫继承。

super():调用指定的父类构造方式。能且只能写在构造方式的第一句。

object:超类。  所有类的都能继承object。

方法重写是用在继承。方法名一致,参数列表一致。类型一致。

注意:子类是不能继承父类构造函数。

final 变量前面为常量。类前面这个类不能被继承。方法前面不能被重写。


public class Polygon {
private int sides;  //边数
private double area;  //面积

public Polygon(){

}
public Polygon(int sides){
System.out.println("在Polygon类的构造器中");


public int getNumberOfSides(int sides){
System.out.println("边数为:"+sides);
return sides;
}

public String toString(){
String s = "面积:"+area+"边数为:"+sides;
return s;
}



package day2;
public class Triangle extends Polygon{
private int base;   //底部
private int height;//高

public Triangle(){

}
public Triangle(int base,int height){
super(3);
this.base = base;
this.height = height;
System.out.println("在Triangle类的构造器中");
}
public String toString(){
String s = "底为:"+base+",高为:"+height;
return s;
}

public int getArea(){
int area = 1/2*(base*height);
return area;
}
}


package day2;
public class RigthTriangle extends Triangle{
private double hypotenuse;    //指三角形斜边
public RigthTriangle(){

}
public RigthTriangle(int base,int height){
super(base,height);
hypotenuse = Math.sqrt(base*base+height*height);
System.out.println("在RigthTriangle构造器中");
}

public double getHypotenuse() {
return hypotenuse;
}
public void setHypotenuse(double hypotenuse) {
this.hypotenuse = hypotenuse;
}
public String toString(){
String s = super.toString() + "斜边:"+hypotenuse;
return s;
}
}



package day2;
public class TsetDemo1 {
public static void main(String[] args) {
new Triangle(3,4);

System.out.println("~~~~~分区~~~~~~~~\n");

RigthTriangle rig = new RigthTriangle(3,5);
System.out.println(rig.toString());
rig.getArea();
rig.getNumberOfSides(3);
}
}


公有继承,私有继承,保护继承的区别

一个子类继承父类时,可按照public、private和protected方式继承父类,每种继承方式的区别如下: 1) public继承方式 基类中所有public成员在派生类中为pu...
  • baowxz
  • baowxz
  • 2016年04月29日 16:01
  • 3861

C++之单继承与多继承

继承性是面对对象程序设计中最重要的特征之一它允许在既有类的基础上创建新类,并可以根据所面对问题的不同情况对新类进行更具体,更详细的说明与操作。 通过代码看基类与派生类class A /...
  • qq_36782456
  • qq_36782456
  • 2017年04月13日 16:37
  • 1133

C++接口继承与实现继承的区别和选择

1.接口继承与实现继承的区别《Effective C++》条款三十四:区分接口继承和实现继承中介绍的比较啰嗦,概括地说需要理解三点: (1)纯虚函数只提供接口继承,但可以被实现; (2)虚函数既提...
  • K346K346
  • K346K346
  • 2017年02月13日 16:34
  • 608

Java中的一般继承和抽象继承的区别

曾经在一次面试中,在介绍一个通用设计时说,接口负责定义public属性和方法,并且声明与其他对象的依赖关系,抽象类负责公共构造部分或方法的实现,实现类准确的实现业务逻辑,同时在适当的时候对父类进行细化...
  • scherrer
  • scherrer
  • 2015年01月05日 12:29
  • 5032

C++ 深入理解 虚继承、多重继承和直接继承

本文从5段代码实例出发,通过类中类的普通继承,类的虚继承,类的多重继承,多个虚函数类的普通继承、虚继承与多重继承,几个交叉概念,详细的阐释了继承、虚函数与虚继承的基本概念,深入剖析了继承于虚继承的区别...
  • u013630349
  • u013630349
  • 2015年07月25日 16:54
  • 6445

Spring中继承配置的注入方法

(1)两个java类,一个父类一个字类 package com.lc.inherit; /* * 这里是父类 */ public class Student { protected St...
  • u010870518
  • u010870518
  • 2014年10月21日 19:51
  • 2846

多继承的概念和优缺点

解析: 实际生活中,一些事物往往会拥有两个或两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念,C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。举个例子: 人(Pers...
  • dscyw
  • dscyw
  • 2013年11月03日 22:20
  • 3873

Java中继承的概念

继承的概念:继承指的是一个类从另一个类从获得属性和方法的过程,它们的关系可以看做是父子的关系,一个父类,一个子类。 继承只能是单继承的,就如一个父亲可以有多个孩子,但是一个孩子不能有多个父亲一样。 ...
  • y15883626567
  • y15883626567
  • 2015年05月08日 11:51
  • 1430

浅析C++继承与派生

测试环境: Target: x86_64-linux-gnu gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)  定义 要分析继承,首先...
  • qq_33724710
  • qq_33724710
  • 2016年06月11日 10:44
  • 2947

如何理解封装、继承和多态

封装:  封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。   封装的意义:   封装的意义在于保护或者防止代...
  • c_w_d
  • c_w_d
  • 2016年10月31日 14:36
  • 10027
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:继承
举报原因:
原因补充:

(最多只允许输入30个字)