美文网首页
day10-04-面向对象(异常-练习)

day10-04-面向对象(异常-练习)

作者: 姗婷 | 来源:发表于2020-05-23 12:38 被阅读0次

    需求有一个圆形和长方形都可以获取面积。
    对于面积如果出现非法的数值,视为是获取面积出现问题,问题通过异常来处理
    现在对这个程序进行基本的设计
    看正常流程代码try,看异常流程代码catch

    class NoValueException extends RuntimeException
    {
        NoValueException(String msg)
        {
            super(msg);
        }
    }
    interface Shape
    {
         void getArea();
    }
    class Rec implements Shape
    {
        private int len,wid;
        Rec(int len,int wid) //throws NoValueException
        {
            if(len<=0||wid<=0)
                throw new NoValueException("非法值");
            this.len = len;
            this.wid = wid;
        }
        public void getArea()
        {
            System.out.println(len*wid);
        }
    }
    class Circle implements Shape
    {
        private int radius;
        public static final double PI= 3.14;
        Circle(int radius)
        {
            if(radius<=0)
                throw new NoValueException("非法值");
            this.radius = radius;
        }
        public void getArea()
        {
            System.out.println(radius*radius*PI);
        }
    }
    
    class ExceptionTest1
    {
        public static void main(String[] args)
        {   
            Rec r = new Rec(3,4);
            r.getArea();
            
            Circle c = new Circle(-8);
            c.getArea();            
        }
    }
    

    相关文章

      网友评论

          本文标题:day10-04-面向对象(异常-练习)

          本文链接:https://www.haomeiwen.com/subject/pbvkahtx.html