zoukankan      html  css  js  c++  java
  • Java项目案例之---开灯(面向对象复习)

    开灯(面向对象复习)

       设计一个台灯类(Lamp)其中台灯有灯泡类(Buble)这个属性,还有开灯(on)这个方法

       设计一个灯泡类(Buble),灯泡类有发亮的方法

       其中有红灯泡类(RedBuble)和绿灯泡类(GreenBuble)他们都继承灯泡类(Buble)一个发亮的方法

       请设计出一段代码可以使台灯开启灯泡发亮,并且保证替换不同种类的灯泡,台灯类代码不被修改

    public class Lamp {
        private Buble buble;//灯泡
        public Buble getBuble() {
            return buble;
        }
    
        public void setBuble(Buble buble) {
            this.buble = buble;
        }
    
        /**
         * 通过父类Buble调用子类重写父类的方法
         * @param buble
         */
        public void on(Buble buble){
            if(buble instanceof RedBuble){
                String r=buble.bright();
                System.out.println("打开台灯"+r);
            }else if(buble instanceof GreenBuble){
                String g=buble.bright();
                System.out.println("打开台灯"+g);
            }
    
        }
    }
    public abstract class Buble {
    
        public Buble(){
    
        }
    
        public abstract String bright();
    
    }
    public class RedBuble extends Buble {
    
        //重写父类抽象方法
    
        public String bright(){
    
           return "红灯泡发亮";
    
        }
    
    }
    public class GreenBuble extends Buble{
    
        //重写父类抽象方法
    
        public String bright(){
    
            return "绿灯泡发亮";
    
        }
    
    }
    public class BubleTest {
    
        public static void main(String[] args){
    
            Lamp lamp=new Lamp();
    
            //父类引用指向子类对象
    
            Buble red=new RedBuble();
    
            Buble green=new GreenBuble();
    
            lamp.on(green);
    
        }
    
    }

    运行结果:

    打开台灯绿灯泡发亮

  • 相关阅读:
    excel导入phpmyadmin
    Python 教程资源
    SAE部署Python-让云端自动运行Python代码
    python socket 超时设置 errno10054
    使用python一步一步搭建微信公众平台(一)
    PHP读取MySQL数据
    php连接mysql并读取数据
    php分页例子实现读取mysql数据分页显示
    51Nod1305 Pairwise Sum and Divide
    SPOJ SUBXOR
  • 原文地址:https://www.cnblogs.com/dyddzhp/p/11181434.html
Copyright © 2011-2022 走看看