天天看點

Java面向對象練習(多态,重寫)

建立一個形狀類(Shape),具有以下方法:

主類

public class Main {
    public static void main(String[] args){
        Shape circular=new Circular(3);
        Shape rectangle=new Rectangle(4,2);
        Calcuation.calculation(circular);
        Calcuation.calculation(rectangle);
    }
}
           

形狀類(抽象類)

計算面積 計算周長

//形狀類
public class Shape {
    //計算周長
    public void calculatePerimeter(){
    }
    //計算面積
    public void calculatedArea(){
    }
}
           

建立一個圓形類(Circular)繼承于形狀類并重寫計算面積和計算周長方法 圓形類具有:

         特有的屬性:半徑

         特有的常量:PI = 3.1415926

半徑的指派使用構造方法

public class Circular extends Shape{
    //圓形類
    final double PI=3.1415926;
    int radius;
    //構造
    public Circular(int radius){
        this.radius=radius;
    }
    @Override
    public void calculatePerimeter(){
        System.out.println("圓的周長:"+PI * radius * 2);
    }
    @Override
    public void calculatedArea(){
        System.out.println("圓的面積:"+PI * radius * radius);
    }
}
           

建立一個矩形類(Rectangle)繼承于形狀類并重寫計算面積和計算周長方法 矩形類具有:

         特有的屬性:長、寬

         長、寬的指派使用構造方法

public class Rectangle extends Shape{
    //矩形類
    int width;
    int length;
    public Rectangle(int width,int length){
        this.length=length;
        this.width=width;
    }
    @Override
    public void calculatePerimeter(){
        System.out.println("矩形的周長:"+(width+length)* 2);
    }
    @Override
    public void calculatedArea(){
        System.out.println("圓的面積:"+width*length);
    }
}
           

建立一個計算類(Calculation) 計算類具有:

         一個靜态的計算方法,既可以計算圓形的面積,也可以計算矩形的面積

public class Calcuation {
    public static void calculation(Shape shape){
        shape.calculatePerimeter();
        shape.calculatedArea();
    }
}