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


    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");
        }
    }
  • 相关阅读:
    readonly
    cut
    finger
    ping fping
    chmod/chown/chgrp/chattr
    synchronized 和 volatile 比较
    volatile的适用场合
    volatile的适用场合
    细说Java多线程之内存可见性
    SDUT2139图结构练习——BFS——从起始点到目标点的最短步数
  • 原文地址:https://www.cnblogs.com/zhaohuan1996/p/8038490.html
Copyright © 2020-2023  润新知