继承与多态练习

 

public class Main{
    public static void main(String args[]){
        double all;
        Board board=new Board();
        QingBoard qingBoard=new QingBoard();
        board=qingBoard;
        LvBoard lvBoard=new LvBoard();
        ChiBoard chiBoard=new ChiBoard();
        qingBoard=chiBoard;
        ZiBoard ziBoard=new ZiBoard();
        LanBoard lanBoard=new LanBoard();
        ChengBoard chengBoard=new ChengBoard();
        HuangBoard huangBoard=new HuangBoard();
        all=/*求青板的时候用了多态*/board.getsum()+/*求赤板的时候用了多态*/qingBoard.getsum()+lvBoard.getLsum()+ziBoard.getZsum()+lanBoard.getLasum()+chengBoard.getChsum()+huangBoard.getHsum();
        System.out.println(all);
    }
}
class Board{
    int s=200;//正面和侧面
    int b=10;//每一个边的面积
    int sum=40;//所有边的面积
    double getsum(){return s+sum;}
}
class QingBoard extends Board{
    int s1=s/4;
    double sum1=sum/4+1.414*10;
    double getsum(){
        return s+sum1;
    }
}
class LvBoard extends Board{
    int s1=s/4;
    double sum1=sum/4+1.414*10;
    double getLsum(){
        return s+sum1;
    }
}
class ChiBoard extends QingBoard{
    double sum2=sum1/2;
    int s2=s1/4;
    double getsum(){
        return s2+sum2;
    }
}
class ZiBoard extends QingBoard{
    double sum2=sum1/2;
    int s2=s1/4;
    double getZsum(){
        return s2+sum2;
    }
}
class LanBoard extends Board{
    int s3=s/8;
    double sum3=1.414*10;
    double getLasum(){
        return s3+sum3;
    }
}
class ChengBoard extends Board{
    int s4=s/8;
    double sum4=1.414*5+10;
    double getChsum(){
        return s4+sum4;
    }
}
class HuangBoard extends ZiBoard{
    int s5=2*s2;
    double sum5=10+1.414*5;
    double getHsum(){
        return s5+sum5;
    }
}

 

posted @ 2022-05-13 18:42  HzzzzLi  阅读(32)  评论(0)    收藏  举报