上一篇《面向对象技术之——组合(composition)》例子中,我们希望让自定义Set类MySet类对外提供add() addAll()等功能,此时我们只需要转发实例对象"_set"相关方法就可以了。代码如下:

 class MySet{private Set set = new HashSet();public void add(Object obj){//..do somethingset.add(obj);}public int size(){return set.size();}}

上述代码中MySet类成为“wrapper class” , 方法add()和size()成为转发方法。

上面的代码涉及了OO中的组合和转发技术,但它并不是委托(delegation)技术,委托技术要求本例中MySet将自身实例以及方法参数传入Set实际方法中。

OO中的组合和转发技术,正是Decorator模式。

参考:

Find out what constitutes true delegation

http://www.javaworld.com/javaworld/javaqa/2001-09/01-qa-0914-delegate.html

-- end

面向对象技术之——转发(forwarding)相关推荐

  1. 《C#精彩实例教程》小组阅读12 -- C#面向对象技术高级应用

    本微信图文详细介绍了C#面向对象技术高级应用.

  2. 编程学习笔记(第一篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(1)...

    软件工程的课程,对于从事大中型的软件开发是至关重要的一门课程. <面向对象技术高级课程>深入.系统.完整地讲解当今主流的面向对象软件开发方法的分析.设计.实现及重构方法,深入讲解UML语言 ...

  3. python云计算开发技术_云计算开发学习笔记:Python3 面向对象技术简介

    来源:TechWeb.com.cn Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以 ...

  4. 数据结构与算法(C#版)第二章 C#语言与面向对象技术(下)V1.0

    由于本学期我给本科生上<数据结构与算法>这门课程,边上边把自己的教案进行总结,发到CSDN上面,希望大家多多指正. 第二章 C#语言与面向对象技术(下) 二.面向对象技术 5.属性 6.索 ...

  5. 数据结构与算法(C#版)第二章 C#语言与面向对象技术(中)V1.0

    由于本学期我给本科生上<数据结构与算法>这门课程,边上边把自己的教案进行总结,发到CSDN上面,希望大家多多指正. 第二章 C#语言与面向对象技术(中) 二.面向对象技术 1.类与对象 2 ...

  6. 数据结构与算法(C#版)第二章 C#语言与面向对象技术(上)V1.0

    由于本学期我给本科生上<数据结构与算法>这门课程,边上边把自己的教案进行总结,发到CSDN上面,希望大家多多指正. 第二章 C#语言与面向对象技术(上) 一.C#语言 1.数据类型 2.常 ...

  7. 使用面向对象技术创建高级 Web 应用程序

    作者: 出处: 使用面向对象技术创建高级 Web 应用程序 来源:开源中国社区 作者:oschina 最近,我面试了一位具有5年Web应用开发经验的软件开发人员.她有4年半的JavaScript编程经 ...

  8. labview利用簇模拟汽车控制_在LabVIEW应用程序中何时应采用面向对象技术 (翻译)...

    在LabVIEW应用程序中何时应采用面向对象技术 (翻译) 在LabVIEW中应用面向对象编程技术并不是一件特别容易的事情,尤其是先期的学习成本很高,但是在开发大型.复杂的.长期维护的程序时,使用面向 ...

  9. 面向对象技术第一讲 多态性

    面向对象技术第一讲  多态性 一﹑什么是多态?为什么要支持多态? 多态是一种普遍存在的现象,如water的三种形态:冰﹑水﹑汽,又如算术运算1+1, 1+0.5, 1/2+0.5等. 多态性用一句经典 ...

  10. python面向对象编程指南 脚本之家_python对象及面向对象技术详解

    本文实例讲述了python对象及面向对象技术.分享给大家供大家参考,具体如下: 1 先看一个例子. 本章将讲解这个例子程序: 文件: fileinfo.py: """Fr ...

最新文章

  1. 结对编程作业——四则运算
  2. Android 解决mac无法识别手机设备
  3. comparator比较器用法_汽车三元催化器堵塞咋办?不拆不换,用这招清理干净、动力猛如虎...
  4. python实现简易聊天需要登录博客园zip下载_Python基于Socket实现简易多人聊天室的示例代码...
  5. SQL必知必会-联结
  6. Android开机自动启动程序设置
  7. 接收URL参数乱码问题
  8. Windows驱动之编写键盘记录器
  9. 10 工作中常见知识汇总
  10. 关于计算机动画制作的过程,关于计算机制作动画的过程
  11. 【力扣面试】面试题 04.02. 最小高度树(就是创建二叉平衡树)
  12. 有限元二阶拉格朗日插值函数理论
  13. 关于AlertDialog的小坑
  14. 下载visual studio 2022 Professional 离线包
  15. 最简单判断工作日/节假日API
  16. Zuul网关的快速使用
  17. 算法竞赛入门经典 习题6-14
  18. 漫威迷福利:新加坡杜莎夫人蜡像馆漫威4D体验馆
  19. 怎么选择mt4 api跟单软件
  20. 惠普HP LaserJet Pro M305dn 打印机驱动

热门文章

  1. 闰秒 mysql_闰秒导致MySQL服务器的CPU sys过高
  2. ls、du命令的用法
  3. [趣谈网络协议学习] 07 ICMP与ping:投石问路的侦察兵
  4. python并行编程 - 异步篇
  5. python tkinter学习6 scale滑条
  6. Flutter系列之Navigator组件使用
  7. 拳皇觉醒服务器维护,拳魂觉醒活动什么时候开 服务器开区活动时间顺序
  8. 定时线程池实现请求合并
  9. 你需要了解的JS框架
  10. 小米之家真的是有效的渠道模式么?