天天看点

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();
    }
}