美文网首页
Java“打印机”模型理解面向接口编程。实现接口定义类,接口实现

Java“打印机”模型理解面向接口编程。实现接口定义类,接口实现

作者: David_Rao | 来源:发表于2019-12-23 10:41 被阅读0次

接口定义类

IinkBox.java

package printerDemo.iface;

public interface IInkBox {
    public String getColor();
}

IPaper.java

package printerDemo.iface;

public interface IPaper {
    String getSize();
}

接口实现类

A4PaperImpl.java

package printerDemo.impl;

import printerDemo.iface.IPaper;

public class A4PaperImpl implements IPaper{

    @Override
    public String getSize() {
        return "A4";
    }

}

B5PaperImpl.java

package printerDemo.impl;

import printerDemo.iface.IPaper;

public class B5PaperImpl implements IPaper{

    @Override
    public String getSize() {
        return "B5";
    }

}

ColorInkBoxImpl.java

package printerDemo.impl;

import printerDemo.iface.IInkBox;

public class ColorInkBoxImpl implements IInkBox{

    @Override
    public String getColor() {
        return "红色";
    }

}

核心“业务”类

Printer.java
核心“业务”类

package printerDemo;

import printerDemo.iface.IInkBox;
import printerDemo.iface.IPaper;

public class Printer {
    private IInkBox inkBox = null;
    private IPaper paper = null;
    
    public void print(String content) {
        if(null == inkBox || null == paper) {
            System.out.println("墨盒和纸张出现错误");
            return;
        }
        String color = inkBox.getColor();
        String type = paper.getSize();
        System.out.println("以下文字是" + color + "色的");
        System.out.println("使用纸张:" + type);
        System.out.println("打印内容:" + content);
    }

    public IInkBox getInkBox() {
        return inkBox;
    }

    public void setInkBox(IInkBox inkBox) {
        this.inkBox = inkBox;
    }

    public IPaper getPaper() {
        return paper;
    }

    public void setPaper(IPaper paper) {
        this.paper = paper;
    }

}

PrinterTest.java
主函数

package printerDemo;

import printerDemo.impl.A4PaperImpl;
import printerDemo.impl.B5PaperImpl;
import printerDemo.impl.ColorInkBoxImpl;

public class PrinterTest {
    public static void main(String[] args) {
        Printer printer = new Printer();
        
        printer.setInkBox(new ColorInkBoxImpl());
        printer.setPaper(new A4PaperImpl());
        printer.print("测试内容");
        printer.setPaper(new B5PaperImpl());
        printer.print("测试内容");
    }
}

相关文章

  • Java“打印机”模型理解面向接口编程。实现接口定义类,接口实现

    接口定义类 IinkBox.java IPaper.java 接口实现类 A4PaperImpl.java B5P...

  • Java动态代理--JDK实现

    java动态代理JDK实现 步骤 定义接口 目标类(实现上面的接口) 实际处理类 实现InvocationHand...

  • python多态

    多态定义 在面向对象编程中, 多个类的相同接口差异化实现. 多态作用 通过在多个类中实现通用接口, 使得该类具有接...

  • 枚举工具类,通过Code返回枚举

    定义接口。用于反射范式编程 定义业务枚举,并实现CodeEnum接口 定义枚举工具类 使用范例:

  • 抽象和接口的不同

    接口只有定义, 欺负不能再接口中实现, 只有实现接口的类才能实现接口中定义的方法, 而抽象类可以定义和实现, 即其...

  • 手写HashMap

    Map 最经典的数据结构:数组 + 链表 自定义Map接口 面向接口的编程思想。 自定义Map实现类 成员变量 E...

  • springAOP纯实现

    接口: 实现类: 接口方法实现类的参数 xml配置 测试: 执行结果: 做切面编程aop的时候报java.lang...

  • 学习笔记171009

    java开发规范 接口和实现类 接口定义在类名前加I;例如:ICacheService 实现类在类名后加Impl;...

  • 设计模式 -- 依赖倒置原则

    表述(面向接口编程) “针对接口编程,不要针对实现编程”就是依赖倒转原则的最好体现:接口(也可以是抽象类)就是一种...

  • 简单工厂模式

    在一般的面向接口编程中,我们都是先写一个接口,然后写一个实现类实现该接口,最后在客户端(调用方)调用这个接口,直接...

网友评论

      本文标题:Java“打印机”模型理解面向接口编程。实现接口定义类,接口实现

      本文链接:https://www.haomeiwen.com/subject/zmswnctx.html