正在加载图片...
4.2.1使用继承 1.基类与派生类 示例程序4-2 Square类( Square. java) 3aa中派生类通过 extends public class Square extends Retangle t 示例程序4-1 Retangle类( Retangle.java) public Square ( double side)t public class Retangle t idth) public Retangle(double l, double wt public double calcPerimetero t length =I; return length*4 width =w public String toString t public double calcPerimeterot return"边长为"+ length+"的正方形"; return 2*(length width) public double calcArea return length width; are public String tostring t Square需要重写并覆盖基类的 calcPerimeter方法来计算周长 return"长为"+ length+"宽为"+wdth+"的长方形"; eter double 周长=4× length rIng protected double length; private double width 四+∠达1U类图中, Square继承了 Rectangle,是 Rectangle类的扩展Java程序设计大学教程 4.2.1 使用继承 1. 基类与派生类 ◼ Java中派生类通过extends 关键字继承基类,并通过 super关键字访问基类的构 造函数和方法。 ◼ Java中所有的类都继承了 Object类的toString方法, 我们可以重写并覆盖 toString方法,使之带有对 象的具体信息,以便我们跟踪 和调试对象。 ◼ 继承关系形成了树状的类层次 结构。继承产生的派生类不能 直接访问其基类的private成 员,但所有其他基类成员通过 继承成为派生类的成员后,保 持它们原来的成员的可访问性, 并可在派生类中使用。 面积 = length × width 周长 = 2 × (length + width) Square需要重写并覆盖基类的 calcPerimeter方法来计算周长。 周长 = 4 × length Square可以继承基类Rectangle的 calcArea方法来计算面积,无须 另写代码 图 4-2在这个UML类图中,Square继承了Rectangle,是Rectangle类的扩展 示例程序 4-1 Retangle类(Retangle.java) public class Retangle { public Retangle(double l, double w) { length = l; width = w; } public double calcPerimeter() { return 2 * (length + width); } public double calcArea() { return length * width; } public String toString() { return "长为" + length + "宽为" + width + "的长方形"; } protected double length; private double width; } 示例程序 4-2 Square类(Square.java) public class Square extends Retangle { public Square(double side) { super(side,side); } public double calcPerimeter() { return length * 4; } public String toString() { return "边长为" + length + "的正方形"; } }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有