zoukankan      html  css  js  c++  java
  • 黑马程序员面向对象09天3

    /*
    毕老师用电脑上课。
    
    开始思考上课中出现的问题。
    
    
    比如问题是
        电脑蓝屏。
        电脑冒烟。
    
    要对问题进行描述,封装成对象。
    
    
    可是当冒烟发生后,出现讲课进度无法继续。
    
    出现了讲师的问题:课时计划无法完成。
    
    
    */
    
    class LanPingException extends Exception
    {
        LanPingException(String message)
        {
            super(message);
        }
    }
    
    class MaoYanException extends Exception
    {
        MaoYanException(String message)
        {
            super(message);
        }
    }
    
    
    class NoPlanException extends Exception
    {
        NoPlanException(String msg)
        {
            super(msg);
        }
    }
    
    class Computer
    {
        private int state = 3;
        public void run()throws LanPingException,MaoYanException
        {
            if(state==2)
                throw new LanPingException("蓝屏了");
            if(state==3)
                throw new MaoYanException("冒烟了");
    
            System.out.println("电脑运行");
        }
        public void reset()
        {
            state = 1;
            System.out.println("电脑重启");
            
        }
    }
    
    class Teacher
    {
        private String name;
        private Computer cmpt;
    
        Teacher(String name)
        {
            this.name = name;
            cmpt = new Computer();
    
        }
    
        public void prelect()throws NoPlanException
        {
            try
            {
                cmpt.run();            
            }
            catch (LanPingException e)
            {
                cmpt.reset();
            }
            catch (MaoYanException e)
            {
                
                test();
                throw new NoPlanException("课时无法继续"+e.getMessage());
                
            }
            System.out.println("讲课");
        }
        public void test()
        {
            System.out.println("练习");
        }
    
    }
    
    
    
    class ExceptionTest 
    {
        public static void main(String[] args) 
        {
            Teacher t = new Teacher("毕老师");
            try
            {
                t.prelect();
            }
            catch (NoPlanException e)
            {
                System.out.println(e.toString());
                System.out.println("换老师或者放假");
            }
            
        }
    }
  • 相关阅读:
    【英语】Bingo口语笔记(40)
    【英语】Bingo口语笔记(38)
    【Python系统学习】基础篇
    【英语】Bingo口语笔记(37)
    [转]linux下ulimit命令详解
    【转】linux read 用法
    【转】Linux下使用locale命令设置语言环境
    【转】基于linux下的变量声明declare的用法
    [转]Linux中set,env和export这三个命令的区别
    linux下echo命令详解(转)
  • 原文地址:https://www.cnblogs.com/guwenren/p/3006365.html
Copyright © 2011-2022 走看看