中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java語言中的抽象類與繼承實例代碼分析

發布時間:2022-10-25 09:26:51 來源:億速云 閱讀:172 作者:iii 欄目:開發技術

這篇文章主要介紹“Java語言中的抽象類與繼承實例代碼分析”,在日常操作中,相信很多人在Java語言中的抽象類與繼承實例代碼分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java語言中的抽象類與繼承實例代碼分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、實驗目的

1、掌握抽象類的設計;

2、掌握抽象方法方法的實現;

3、熟悉類的向下向上轉型,以及子類實例化父類對象的基本要求;

4、掌握通過類的繼承實現抽象類。

二、實驗要求

(一)編寫一個Shape抽象類,其中包含有:

1個成員變量:表示長度,數據類型為double。當類為Circle時,表示半徑;當類為Square時,表示其邊長; 2個抽象方法area()、perimeter(),分別用于計算圖形的面積、周長。

public abstract class Shape{
    private double length;  // 定義一個私有的成員變量

    public double getLength() { // 定義一個方法 getLength() 返回長度值
        return length;
    }

    public void setLength(double length) {  // 定義一個方法 setLength() 獲得長度值
        this.length = length;
    }
    public abstract double area();  // 定義一個抽象方法 area(),求面積
    public abstract  double perimeter();    // 定義一個抽象方法,求周長
}

(二)設計類Circle(圓形)和類Square(正方形),實現抽象類Shape中的所有抽象方法,其中計算圓的面積、周長時,π可以直接引用Math.PI。

class Circle extends Shape{ // 定義一個實現抽象類 Circle 圓形,繼承自抽象類 Shape
    @Override
    public double area() {  // 實現抽象類中的 area() 方法
        return Math.PI * getLength() * getLength(); // 返回圓的面積
    }

    @Override
    public double perimeter() { // 實現抽象類中的 perimeter() 方法
        return 2 * Math.PI * getLength();   // 返回圓的周長
    }
}

class Square extends Shape{ // 定義一個實現抽象類 Square 方形,繼承自抽象類 Shape
    @Override
    public double area() {  // 實現抽象類中的 area() 方法
        return getLength() * getLength();   // 返回方形的面積
    }

    @Override
    public double perimeter() { // 實現抽象類中的 perimeter() 方法
        return 4 * getLength(); // 返回方形的邊長
    }
}

(三)創建一個包含main方法的Test類,測試相關的類和抽象類。

class Test{ // 定義一個測試類
    public static void main(String[] args) {    // 主入口函數
        Shape circle = new Circle();    // 定義一個Shape 類型的circle對象,用Circle類進行實例化
        circle.setLength(3);    // 傳入參數
        System.out.println("圓的半徑為:" + circle.getLength());
        System.out.println("圓的面積為:" + circle.area());
        System.out.println("圓的周長為:" + circle.perimeter());

        Shape square = new Square();    // 定義一個Shape 類型的square對象,用Square類進行實例化
        square.setLength(3);    // 傳入參數
        System.out.println("正方形的邊長為為:" + square.getLength());
        System.out.println("正方形的面積為:" + square.area());
        System.out.println("正方形的周長為:" + square.perimeter());
    }
}

全部代碼展示

package experiment11.java;

public abstract class Shape{
    private double length;  // 定義一個私有的成員變量

    public double getLength() { // 定義一個方法 getLength() 返回長度值
        return length;
    }

    public void setLength(double length) {  // 定義一個方法 setLength() 獲得長度值
        this.length = length;
    }
    public abstract double area();  // 定義一個抽象方法 area(),求面積
    public abstract  double perimeter();    // 定義一個抽象方法,求周長
}

class Circle extends Shape{ // 定義一個實現抽象類 Circle 圓形,繼承自抽象類 Shape
    @Override
    public double area() {  // 實現抽象類中的 area() 方法
        return Math.PI * getLength() * getLength(); // 返回圓的面積
    }

    @Override
    public double perimeter() { // 實現抽象類中的 perimeter() 方法
        return 2 * Math.PI * getLength();   // 返回圓的周長
    }
}

class Square extends Shape{ // 定義一個實現抽象類 Square 方形,繼承自抽象類 Shape
    @Override
    public double area() {  // 實現抽象類中的 area() 方法
        return getLength() * getLength();   // 返回方形的面積
    }

    @Override
    public double perimeter() { // 實現抽象類中的 perimeter() 方法
        return 4 * getLength(); // 返回方形的邊長
    }
}

class Test{ // 定義一個測試類
    public static void main(String[] args) {    // 主入口函數
        Shape circle = new Circle();    // 定義一個Shape 類型的circle對象,用Circle類進行實例化
        circle.setLength(3);    // 傳入參數
        System.out.println("圓的半徑為:" + circle.getLength());
        System.out.println("圓的面積為:" + circle.area());
        System.out.println("圓的周長為:" + circle.perimeter());

        Shape square = new Square();    // 定義一個Shape 類型的square對象,用Square類進行實例化
        square.setLength(3);    // 傳入參數
        System.out.println("正方形的邊長為為:" + square.getLength());
        System.out.println("正方形的面積為:" + square.area());
        System.out.println("正方形的周長為:" + square.perimeter());
    }
}

三、實驗報告要求

1、按照程序編寫、調試、測試過程,在實驗報告中體現全部源代碼、基本調試過程、和最終的運行結果(原始屏幕)。

Java語言中的抽象類與繼承實例代碼分析

2、程序運行結束,在源代碼目錄中執行Dir命令,把Dir執行結果作為報告的最后部分提交。

Java語言中的抽象類與繼承實例代碼分析

到此,關于“Java語言中的抽象類與繼承實例代碼分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

紫阳县| 龙海市| 昂仁县| 南安市| 拜城县| 靖西县| 阿图什市| 永新县| 嘉兴市| 文昌市| 兴化市| 且末县| 丹阳市| 炉霍县| 吴桥县| 九龙城区| 临颍县| 安多县| 凌源市| 雅江县| 石棉县| 松潘县| 鄂尔多斯市| 通河县| 晋城| 砀山县| 黄大仙区| 文化| 垫江县| 邵武市| 内丘县| 赫章县| 洪江市| 寿阳县| 修武县| 灯塔市| 宜良县| 双鸭山市| 民和| 临泽县| 定安县|