• 代码片--可扩展性的模式(接口加多态)


    package com.dreamy.day03;
    
    /**
     * @author dreamy
     * 需求:
     * 电脑运行实例
     * 电脑运行基于主板
     * 用接口和多态实现程序的可扩展性
     */
    
    abstract interface PCI{
        public abstract void open();
        public abstract void close();
    }
    class MainBoard{
        public void run() {
            System.out.println("mainboard run...");
        }
        public void userPCI(PCI p) {//PCI p=new NetCard//接口型引用指向自己的子类对象--多态的应用
            if(p!=null) {
                p.open();
                p.close();
            }
        }
    }
    
    public class DuoTai02 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            MainBoard mb=new MainBoard();
            mb.run();
            mb.userPCI(null);
            mb.userPCI(new NetCard());
            mb.userPCI(new SoundCard());
        }
    
    }
    
    class NetCard implements PCI{
    
        @Override
        public void open() {
            System.out.println("netcard open");
        }
        @Override
        public void close() {
            System.out.println("netcard close");
        }
    }
    class SoundCard implements PCI{
        @Override
        public void open() {
            System.out.println("soundcard open");
        }
        @Override
        public void close() {
            System.out.println("soundcard close");
        }
    }
  • 相关阅读:
    js控制滚动条滑动
    js二维码插件总结
    wer
    验证插件——jquery.validate.js
    .py小程序总结
    Linux中xargs命令的使用
    Cacti、解决cacti的snmp error
    Cacti安装使用
    用Python发一个高逼格的朋友圈
    windows安装zabbix-agent
  • 原文地址:https://www.cnblogs.com/zhaohuan1996/p/8038490.html
Copyright © 2020-2023  润新知