• 继承


    题目:编写一个应用程序,创建一个矩形类,类中具有长、宽两个成员变量和求周长的方法。再创建一个矩形类的子类——正方形类,类中定义求面积方法、重写求周长的方法。在主类中,输入一个正方形边长,创建正方形对象,求正方形的面积和周长。(注意:所有类均在一个包中)

    package Test;
    
    public class test7 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //建立矩形类的对象兵初始化
            Rect rect = new Rect(3,4);
            //建立正方形的对象并初始化
            Square squ = new Square(7);
            double area;
            double peri;
            //如果边长不符合要求,则会发生异常
            if(rect.getLength()<=0||rect.getWidth()<=0||squ.getLenside()<=0) {
                    throw new MyExcep("矩形的边长不能少于0");
            }
            else {
                area = squ.getArea();
                peri = squ.getPeri();
                System.out.println("正方形的面积是:"+area+"正方形的周长是:"+peri);
            }
        }
    }
    class Rect {
        //定义长和宽
        private double length;
        private double width;
        //空参数构造方法
        Rect(){}
        //对矩形进行初始化
        Rect(double length,double width){
            this.length = length;
            this.width = width;
        }
        //设置一系列的访问器修改器
        public double getLength() {
            return length;
        }
        public void setLength(double length) {
            this.length = length;
        }
        public double getWidth() {
            return width;
        }
        public void setWidth(double width) {
            this.width = width;
        }
        //返回周长
        public double getPeri() {
            return (width+length)*2;
        }
    }
    class Square extends Rect{
        
        //定义边长,总感觉借用父类中的长和宽不太规范,就多写了一个边长
        private double lenside;
        //对正方形进行初始化
        Square(double lenside){
            this.lenside = lenside;
        }
        //访问器和修改器
        public double getLenside() {
            return lenside;
        }
        public void setLenside(double lenside) {
            this.lenside = lenside;
        }
        //返回周长
        public double getPeri() {
            return lenside*4;
        }
        //返回面积
        public double getArea() {
            return lenside*lenside;
        }
    }
    //定义不规范发生的异常
    class MyExcep extends RuntimeException{
        MyExcep(String msg){
            super(msg);
        }
    }

  • 相关阅读:
    bzoj 3747: [POI2015]Kinoman
    bzoj 3123: [Sdoi2013]森林
    bzoj 1901: Zju2112 Dynamic Rankings
    poj 1741 Tree
    bzoj 2152: 聪聪可可
    bzoj 2599: [IOI2011]Race
    bzoj 3697: 采药人的路径
    bzoj 2728: [HNOI2012]与非
    bzoj 2115: [Wc2011] Xor
    bzoj 3143: [Hnoi2013]游走
  • 原文地址:https://www.cnblogs.com/xiexiaofei/p/11580720.html
Copyright © 2020-2023  润新知