当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

Java语言构造性情势之变压器情势介绍[Java编程]

赞助商链接



  本文“Java语言构造性情势之变压器情势介绍[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

什么是构造性情势

构造性情势描写类和对象怎样结合在一同成为较大的构造. 构造性情势描写两种差别的东西:类与类的实例.按照它们所描写的东西的差别, 构造性情势可以分为类构造情势和实例构造情势两种.

类构造情势利用担当(inheritance)来把类,接口等组合在一同,形成更大的构造. 当一个类从父类担当,并实现某接口时,这个新的类就把父类的构造和接口的构造结合起来. 类构造情势是静态的.一个类构造情势的典型的例子,就是类情势的变压器情势.

实例构造情势描写各种差别范例的把对象组合在一同,实现新的功效的办法.实例构造情势是动态的. 一个典型的实例构造情势,就是代理人情势,代理人情势将在今后介绍.别的的例子包含背面将要介绍的复合情势, 飞翔重量情势,装潢情势,以及实例情势的变压器情势等.

有一些情势会有类构造情势的情势和实例构造情势的情势两种,成为以上两种情势的构造情势的极好注解. 本节要介绍的变压器情势就是这样,它有类情势和实例情势两种.

变压器情势的介绍

变压器情势把一个类的接口变更成客户端所等待的另一种接口.变压器情势使本来无法在一同工作的两个类可以在一同工作. 如前所述,变压器情势是关于类构造的构造性情势,因而是静态的情势.

这很象变压器(Adapter)---变压器把一种电压变更成另一种电压.当我把美国的电器拿回中国大陆去用的时刻, 我就面对电压差别的问题.美国的生活用电压是110伏,而中国的电压是220伏.我假如要在中国大陆利用我在美国利用的电器, 我就必须有一个能把220伏电压转换成110伏电压的变压器.而这正象是本情势所做的事,因此此情势被称为变压器情势.

读者大概也会想到,Adapter在中文也可翻译为转换器(适配器).实际上,转换器(适配器)也是一个符合的名字.仍用电器作例子, 美国的电器的插头普通是三相的,即除了阳极,阴极外,还有一个地极.中国大陆的建筑物内的电源插座普通只有两极,没有地极. 这时刻,即便电器的确可以承受220伏电压,电源插座和插头不匹配,也使电器无法利用. 一个三相到两相的转换器(适配器)就可以办理这个问题.因此此情势也可被称为转换器(适配器)情势.

同时,这种做法也很象包装历程,被包装的物体的真实模样被包装所掩盖和改变,因此有人把这种情势叫做包装(Wrapper)情势.事实上, 我们常常写很多这样的wrapper类,把已有的一些类包裹起来,使之能有满意需求的接口.

变压器情势有类情势和实例情势两种差别的情势.

类情势的变压器情势的定义

类情势的变压器情势的类图定义以下.

图1. 类情势的类变压器情势的类图定义

在图1可以看出,情势所触及的成员有:

目标(Target).这就是我们所等待得到的接口.注意,由于这里谈论的是类变压器情势,因此目标不可以是类.

源(Adaptee).现有需求适配的接口.

变压器(Adapter).变压器类是本情势的核心.变压器把源接口转换成目标接口.明显,这一角色不可以是接口, 而必须是实类.


  以上是“Java语言构造性情势之变压器情势介绍[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .