适配者模式7(10)

电源给手机充电,需要将220V转换成5V

电源:AC220A 适配者

转换:ObjectPowder 适配器

手机:DC5A 目标

package structural.pratice;

public class AdapterP4Main {

    public static void main(String[] args) {
        AC220A dc = new AC220A();
        ObjectPowder op = new ObjectPowder(dc);
        op.in();
    }
}

interface AC220Target{
    public int output220();
}

class AC220A implements AC220Target{
    @Override
    public int output220(){
        System.out.println("电源");
        return 220;
    }
}

interface DC5AdapteeA{
    public int in();
}
class DC5A implements DC5AdapteeA{

    @Override
    public int in(){
        System.out.println("手机");
        return 5;
    }
}

class ObjectPowder implements DC5AdapteeA{
    private AC220A ac;
    ObjectPowder(AC220A ac){
        this.ac = ac;
    }
    @Override
    public int in(){
        int out = ac.output220();
        int in = out-215;
        System.out.println(in);
        return in;
    }

}

原文地址:https://www.cnblogs.com/zzlcome/p/11423286.html

时间: 2024-10-08 18:42:45

适配者模式7(10)的相关文章

设计模式(7)--适配式模式与外观模式

转换接口. 引入新原则: " 最少知识"原则   作用为 外观模式 面向对象的适配器:将一个接口转换成另一个接口,以符合客户的期望. 对象适配器  与  类适配器 OO原则:(1)封装变化 (2)多用组合,少用继承 (3)针对接口编程,不针对实现编程 (4)为交互对象之间的松耦合设计而努力 (5)类应该对扩展开放,对修改关闭.(6) 依赖抽象,不要依赖具体类.(7)只和朋友交流. OO模式: 适配器模式-:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无

适配者模式

适配者模式:在调用的接口已经确定,提供的接口也已经确定,但有写地方不匹配,就需要适配者模式来处理匹配,一般用在后期代码维护 主方法 namespace 适配模式 { class Program { static void Main(string[] args) { ISqlHelper s1 = new Sql(); s1.Add(); s1.Delete(); s1.Update(); s1.Search(); ISqlHelper s2 = new AdapterLucene(); s2.A

更好的 SQL 模式的 10 条规则

更好的 SQL 模式的 10 条规则 2015-06-17 11:57:392353浏览1评论 在创建新表和数据仓库时,要做很多决定.一些在当时似乎无关紧要的地方,却让你和用户在数据库的生命期内感到痛苦. 我们和成千上万的人们以及他们的数据库一道工作,经历了长期的读写查询,我们差不多看到了每种情况.下面是创建免去痛苦模式的 10 条规则. 1.只使用小写字母.数字和下划线 不要在数据库.模式.表或列名中使用点(dot).空格.或连接号[注1].点用于标示对象,通常以database.schema

设计模式之适配者模式——Java语言描述 | Amos H's blog

适配器模式是作为两个不兼容的接口之间的桥梁.这种类型的设计模糊属于结构性模式,它结合了两个独立接口的功能 概念阐述 使用适配器模式可以解决在软件系统中,将一些旧的类放入新环境中,但是新环境要求的接口旧的类不能满足的情况. 使用情形: 系统需要使用旧的类,但是此类的接口不符合系统的需要 需要建立一个可以重复使用的类,用于一些彼此之间没有太大关系的一些类 通过接口转换,将一个类插入到另一个类中 优点: 可以让任何两个没有关联的类一起运行 提高了类的复用 增加了类的透明度 灵活性好 缺点: 过多的使用

设计模式--结构模式--适配者模式

一.基本概念 1.适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作. 2.角色: A:Adaptee(适配者类):适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配. B:Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类. C:Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配,使二者产生联系. D:Clien

angular2 组件之间通讯-使用服务通讯模式 2016.10.27 基于正式版ng2

工作中用到ng2的组件通讯 奈何官方文档言简意赅 没说明白 自己搞明白后 整理后分享下 rxjs 不懂的看这篇文章 讲很详细 http://www.open-open.com/lib/view/open1462525661610.html 以下是服务代码 1 import { Injectable } from '@angular/core'; 2 import {Subject}from"rxjs/Subject"; 3 @Injectable() 4 export class CS

对iOS后台模式最多10分钟运行时间的进一步理解

在app进入后台时,系统初始默认是只有10s的处理时间,但如果10s不够,我们可以主动申请,网上流传最多的一个说法是10分钟. 但这种说法有个前提: 那就是iOS7之前,是这样 但从iOS7开始,我们申请后,最多只有180s的处理时间(3分钟),一直颇不理解,为什么变成了3分钟. 申请方法swift写法: var backgroundTaskIdentifier:UIBackgroundTaskIdentifier! backgroundTaskIdentifier = UIApplicatio

设计模式-行为型模式,责任链模式(10)

顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为型模式. 在这种模式中,通常每个接收者都包含对另一个接收者的引用.如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推. class Event: def __init__(self, name): self.name = name def __str__(self): ret

iOS深色模式适配

不适配深色模式 直接在info新加一个字段 User Interface Style 设置值为 Light 适配深色模式 适配深色模式info里面的那个字段就不用添加了 但是需要在每个UIWindow,UIViewController,UIView里面增加下面的这个方法 -(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection 在这个方法里去判断和更改当前界面所有元素的颜色 我专门做了一个单例,把应用