第七周课程总结&实验报告

Posted 9557yxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第七周课程总结&实验报告相关的知识,希望对你有一定的参考价值。

实验四 类的继承

实验目的

·理解抽象类与接口的使用;
·了解包的作用,掌握包的设计方法。

实验要求

·掌握使用抽象类的方法。
·掌握使用系统接口的技术和创建自定义接口的方法。
·了解 Java 系统包的结构。
·掌握创建自定义包的方法。

实验内容

(一)抽象类的使用

设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法。 继承该抽象类定义三角型、矩形、圆。 分别创建一个三角形、矩形、圆存对象,将各类图形的面积输出。
注:三角形面积s=sqrt(p(p-a)(p-b)*(p-c)) 其中,a,b,c为三条边,p=(a+b+c)/2

2.编程技巧

(1) 抽象类定义的方法在具体类要实现;

(2) 使用抽象类的引用变量可引用子类的对象;

(3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可将所有对象存入到父类定义的数组中。

(二)使用接口技术

1定义接口Shape,其中包括一个方法size(),设计“直线”、“圆”、类实现Shape接口。分别创建一个“直线”、“圆”对象,将各类图形的大小输出。

编程技巧

(1) 接口中定义的方法在实现接口的具体类中要重写实现;

(2) 利用接口类型的变量可引用实现该接口的类创建的对象。

实验源码

package 项目1;

public abstract class  First {
     public abstract void getLength();
        public abstract void getArea();

}
package 项目1;

public class Circle extends First {
    private double r;

    public  Circle(double r){
        this.r=r;
    }

    public double getRadius() {
        return r;
    }

    public void setRadius(double r) {
        this.r = r;
    }

    public void getLength() {
        System.out.println("The circumference of the circle:"+(2*Math.PI*r));
    }
    public void getArea() {
        System.out.println("The area of the circle:"+(Math.PI*Math.pow(r,2)));
    }

}
package 项目1;

public class Rectangle  extends  First {
    private double width;
    private double high;
    public Rectangle(double width,double high){
        this.width=width;
        this.high=high;
    }
    public double getHigh() {
        return high;
    }

    public double getWidth() {
        return width;
    }

    public void setHigh(double high) {
        this.high = high;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public void getLength() {
        System.out.println("The circumference of the rectangle:"+2*(width+high));
    }
    public void getArea() {
        System.out.println("The area of the rectangle:"+width*high);
    }

}
package 项目1;

public class Triangle  extends  First {
    private double q,w,e;
    double r;
    public  Triangle(double q,double w,double e){
        this.q=q;
        this.w=w;
        this.e=e;
        r=(q+w+e)/2;
    }

    public double getA() {
        return q;
    }

    public double getB() {
        return w;
    }

    public double getC() {
        return e;
    }

    public void setA(double q) {
        this.q = q;
    }

    public void setB(double w) {
        this.w = w;
    }

    public void setC(double e) {
        this.e = e;
    }

    public void getLength() {
        System.out.println("The perimeter of the triangle:"+(q+w+e));
    }

    public void getArea() {
        System.out.println("The area of the triangle:"+Math.sqrt(r*(r-q)*(r-w)*(r-e)));
    }

}
package 项目1;

public class Test {
    public static void main(String[] args){
         First sha1=new Circle(6);
         First sha2=new Rectangle(2,5);
         First sha3=new Triangle(6,8,10);
        sha1.getLength();
        sha1.getArea();
        sha2.getLength();
        sha2.getArea();
        sha3.getLength();
        sha3.getArea();
    }

}

实验结果
技术图片

实验源码

实验结果

第七周周总结

1Object类

技术图片

技术图片

2抽象类与接口的关系

技术图片

3instanceof关键字

对象 instanceof类--> 返回boolean类

以上是关于第七周课程总结&实验报告的主要内容,如果未能解决你的问题,请参考以下文章

第七周课程总结&实验报告

第七周课程总结&实验报告

第七周课程总结&实验报告

第七周课程总结&实验报告

第七周课程总结&实验报告

第七周课程总结&实验报告