第七週課程總結&第五次實驗報告

實驗四 類的繼承

實驗目的

理解抽象類與接口的使用;
瞭解包的做用,掌握包的設計方法。編程

實驗要求

掌握使用抽象類的方法。
掌握使用系統接口的技術和建立自定義接口的方法。
瞭解 Java 系統包的結構。
掌握建立自定義包的方法。數組

實驗內容

(一)抽象類的使用學習

1.設計一個類層次,定義一個抽象類--形狀,其中包括有求形狀的面積的抽象方法。 繼承該抽象類定義三角型、矩形、圓。 分別建立一個三角形、矩形、圓存對象,將各種圖形的面積輸出。
注:三角形面積s=sqrt(p(p-a)(p-b)*(p-c)) 其中,a,b,c爲三條邊,p=(a+b+c)/2
2.編程技巧this

(1) 抽象類定義的方法在具體類要實現;設計

(2) 使用抽象類的引用變量可引用子類的對象;code

(3) 經過父類引用子類對象,經過該引用訪問對象方法時實際用的是子類的方法。可將全部對象存入到父類定義的數組中。對象

(二)使用接口技術blog

1.定義接口Shape,其中包括一個方法size(),設計「直線」、「圓」、類實現Shape接口。分別建立一個「直線」、「圓」對象,將各種圖形的大小輸出。繼承

2.編程技巧接口

(1) 接口中定義的方法在實現接口的具體類中要重寫實現;

(2) 利用接口類型的變量可引用實現該接口的類建立的對象。

抽象類實驗代碼

package Work2;

public abstract class Abstract {
     public void area() {
            System.out.println(this.getArea());
        }

        public abstract double getArea();
}

public class triangle extends Abstract {
    private double a;
    private double b;
    private double c;
    private double p=(a+b+c)/2;
    private double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
    public triangle(double a,double b,double c) {
        this.a=a;
        this.b=b;
        this.c=c;
        this.p=(a+b+c)/2;
        this.s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
    }           
    public double getArea() {
        return s;
    }
}

public class rectangle extends Abstract {
    private double width;
    private double height;
    public rectangle(double width,double height) {
        this.width=width;
        this.height=height;
    }
    public double getArea() {
        return width*height;
    }
}

public class circle extends Abstract {
    private double radius;
    public circle(double r) {
        this.radius=r;
    }
    public double getArea() {
        return Math.PI*radius*radius;
    }
}

public class test {
     public static void main(String[] args) {
         triangle alita1=new triangle(3,4,5);
            alita1.area();
         rectangle alita2=new rectangle(4,5);
            alita2.area();
         circle  alita3=new circle(10);
            alita3.area();
        }
}

實驗結果

接口類實驗代碼

package Work3;

public interface shape {
     public void size();

}

class straightline implements shape{
    private double length;
    public straightline(double length) {
        this.length=length;
    }
    public void size() {
        System.out.println("直線的長度:"+length);
    }

}

public class circle implements shape {
    private double radius;
    public circle(double radius) {
        this.radius=radius;
    }
    public void size() {
        System.out.println("圓的面積:"+Math.PI*radius*radius);
    }
}

public class test {
    public static void main(String[] args) {
        shape a=new straightline(100);
        shape b=new circle(10);
        a.size();
        b.size();
    }
}

實驗結果

實驗總結

本次實驗的內容爲抽象類和接口類的實際運用,老師上課和咱們講解的很清楚,因此運用的還算流暢

課程總結

本週咱們學習了抽象類和接口類

接口類和抽行類的運用


Object類

Obiect類是全部類的父類。


還能夠運用tostring方法取得對象

相關文章
相關標籤/搜索