第七周课程总结&实验报告(五)
实验四 类的继承 实验内容 (1) 抽象类定义的方法在具体类要实现; (2) 使用抽象类的引用变量可引用子类的对象; (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可将所有对象存入到父类定义的数组中。 package 上课时间; public abstract class AbstractDemo { public static void main(String args[]) { 三角形 b =new 三角形(6,8,10,0 ); //三角形的三条边输入 System.out.println(b.getlnfo()); 圆 c =new 圆(11,0); //圆形的半径输入 System.out.println(c.getlnfo()); 矩形 d =new 矩形(12,5,0); System.out.println(d.getlnfo()); //矩形的长和高输入 } } abstract class 形状 { private double a; private double b; private double c; private double p; public 形状(double a,double b,double c,double p){ this.setA(a); this.setB(b); this.setC(c); this.setP(p); } public double getA() { return a; } public void setA(double a) { this.a=a; } public double getB() { return b; } public void setB(double b) { this.b=b; } public double getC() { return c; } public void setC(double c) { this.c=c; } public double getP() { return p; } public void setP(double p) { this.p=(a+b+c)/2; } public abstract double getlnfo(); } class 三角形 extends 形状{ public char[] getlnfo; private double s; //三角形的面积 public 三角形(double a,double p,double r) { super(a,c,p); this.setS(s); } public double getS() { return s; } public void setS(double s) { this.s=Math.sqrt(getP()*(getP()-getA())*(getP()-getB())*(getP()-getC())); //计算 } public double getlnfo() { return this.getS(); } } class 圆 extends 形状{ public char[] getlnfo; private double r; //圆的面积 public 圆(double a,double r) { super(a,p); this.setR(r); } public double getR() { return r; } public void setR(double r) { this.r=3.14*Math.pow(getA(),2); //计算 } public double getlnfo() { return this.getR(); } } class 矩形 extends 形状{ public char[] getlnfo; private double h; //矩形的面积 public 矩形(double a,double h) { super(a,p); this.setH(h); } public double getH() { return h; } public void setH(double h) { this.h=getA()*getB(); //计算 } public double getlnfo() { return this.getH(); } } (二)使用接口技术 (1) 接口中定义的方法在实现接口的具体类中要重写实现; (2) 利用接口类型的变量可引用实现该接口的类创建的对象 package 上课时间; public class textdemo { public static void main(String args[]) { Shape msg =new Shape01(); msg.size(); } } interface Shape{ public void size(); } class Shape01 implements Shape{ public void size() { System.out.println("直线:20"); System.out.println("圆:10"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |