zoukankan      html  css  js  c++  java
  • java多态实例

    学校有两个打印机,一个彩印,一个黑白印,都打印输出

    public class printerDemo {
    	public static void main(String[] args) {
    		colorPrinter cp = new colorPrinter("惠普");
    		blackPrinter bp = new blackPrinter("联想");
    		school sch = new school();
    		sch.setColorPrinter(cp);
    		sch.setBlacPkrinter(bp);
    		cp.print("hello");
    		bp.print("hello");
    	}
    }
    
    class printer{
    	private String brand;
    	
    	public String getBrand() {
    		return brand;
    	}
    	public printer(String brand){
    		this.brand = brand;
    	}
    	
    	public void print(String content) {//需要重写
    		System.out.println(brand);
    	}
    }
    
    class school{
    	private colorPrinter cp = null;
    	private blackPrinter bp = null;
    	
    	public void setColorPrinter(colorPrinter cp) {//安装彩色打印机
    		this.cp = cp;
    	} 
    	public void setBlacPkrinter(blackPrinter bp) {//安装黑白打印机
    		this.bp = bp;
    	}
    	public void print(String content) {
    		cp.print(content);
    		bp.print(content);
    	}
    }
    
    class colorPrinter extends printer{
    	public colorPrinter(String brand){
    		super(brand);
    	}
    	
    	public void print(String content) {//子类重写父类方法
    		System.out.println(getBrand()+"彩色打印:"+content);
    	}
    }
    
    class blackPrinter extends printer{
    	public blackPrinter(String brand){
    		super(brand);
    	}
    	
    	public void print(String content) {//子类重写父类方法
    		System.out.println(getBrand()+"黑白打印:"+content);
    	}
    }
    
  • 相关阅读:
    js 把数组中每个元素的某个字段取出
    vue 实现单选/多选效果
    js常用的array方法
    js的split()和join()的用法
    HTML 转 PDF 之 wkhtmltopdf
    微信小程序api封装(promise)
    常用的正则表达式
    更改MySQL的存储目录
    CentOS 6.X 安装VirtualBox-5.1
    CentOS 6.X 安装VNC Server实现图形化访问
  • 原文地址:https://www.cnblogs.com/liubing2018/p/8432456.html
Copyright © 2011-2022 走看看