面向对象程序设计模式(编辑修改稿)内容摘要:
的类的时候。 *将创建对象的职责委托给多个帮助 *类中的某一个,并且 *希望将哪一个帮助子类是代理者这一信息局部化的时候。 参与者 定义工厂方法所创建的对象的接口。 实现 Product 接口。 声明工厂方法,该方法返回一个 Product 类型的对象 * Creator 也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct 对象。 可以调用工厂方法以创建一个 Product 对象。 重定义工厂方法以返回一个 ConcreteProduct 实例。 类图 例子 product public interface Work { void doWork()。 } ConcreteProduct public class StudentWork implements Work { public void doWork() { (学生 *作业 !)。 } } public class TeacherWork implements Work { public void doWork() { (老师审批作业 !)。 } } Creator public interface IWorkFactory { Work get*ork()。 } Concre*eCreator pu*lic class StudentWorkFactory implements IWorkFactory { public Work getWork() { *eturn new StudentWork()。 } } public class TeacherWorkFactory implements IWorkFactory { public Work getWork() { return new TeacherWork()。 } } Test public class Test { public static void m*in(Strin*[] args) { IWorkFactory studentWorkFactory = new StudentWorkFactory()。 ().d*Work()。 IWorkFactory teacherWorkFactory * new TeacherWorkFactory()。 *tWork().*oWork()。 } } result 学生做作业 ! 老师审批作业 ! 2 结构型模式 适配器模式 将一个类的接口转换成客户希望的另外一个接口。 Adapter 模式使得原本由于接口 *兼容而不能一起工作的那 *类可以一起工作。 适用性 *一个已经存在的类,而它的接口不符合你的需求。 ,该类可以与其他不相关的类或不可预见的类(即那 *接口 可能不一定兼容的类)协同工作。 *.(仅适用于对象 Adapter)你想使用一些已经存在的子类 ,但是不可能对每一个都进行 子类化以匹配它们的接口。 对象适配器可以适配它的父类接口。 参与者 定义 Client 使用的与特定领域相关的接口。 与符合 Target 接口的对象协同。 *e 定义一个已经存在的接口,这个接口需要适配。 对 Adaptee 的接口与 Target 接口进行适配 例子 Target public interface Target { void adapteeMethod()。 void adapterMethod()。 } Adaptee public class Adaptee { public void adapteeMethod() { Syste*.*intln(Adaptee method!)。 } } Adapt*r public clas* Adapter implement* Target { private Adap*ee adaptee。 public Adapter(Adaptee adaptee) { * = adaptee。 } public void adapteeMethod() { ()。 } public void adapterMethod() { *(Adapter method!)。 } } Client public cla*s Test { public stati* void main(String[] args) { Target target = new Adapter(new Adaptee())。 tar*()。 *thod()。 } } result Adaptee method! Adapter method! 3 行为型模式 迭代器模式 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 适用性。 *统一的接口 (即 ,支持多态迭代 )。 参与者 迭代器定义访问和遍历元素的接口。 具 *迭代器实现迭代器接口。 对该聚合遍历时跟踪当前位置。 聚合定义创建相应迭代器 *象的接口。 具体聚合实现创建相应迭代器的接口,该操作返回 ConcreteIterator 的一个适当的实例 . 例子 Iterator public interface Iterator { Object nex*()。 void first()。 voi* last()。 boolean hasNext()。 } ConcreteIterator public class IteratorImpl implements It*rator { private List list。 private int index。 public Ite*atorImpl(List list* { index = 0。 = list。 } public void first() { index = 0。 } publ*c void last() { index = ()。 } public Object next() { Object obj = (index)。 index++。 ret*rn obj。 } public boolean hasNext() { return index ()。 } } Aggregate p*blic interface List { Iterator iterator()。 Object get(int index)。 int *etSize()。 void add(Object ob*)。 } ConcreteAggregate public class ListImpl implements List { private Object[] list。 private int index。 private int size。 public ListImpl() { index = 0。 size = 0。 list = new Object[100]。 } public Iterator iterator() { return new IteratorImpl(this)。 }。面向对象程序设计模式(编辑修改稿)
相关推荐
除 c=4 行政人员兼职教师删除 c=5 c=6 退出删除 10 4. 系统调试 ,如下图所示: 图 主菜单 11 ,出现下图: 图 图 教师录入 图 实验员录入 12 图 行政人员录入 图 教师兼职实验员录入 图 行政人员兼职教师录入 13 ,出现下图: 图 信息查 询模块 图 按编号查询教师 图 按姓名查询教师 图 按编号查询实验员 图 按姓名查询实验员 14 图 按编号查询行政人员 图
行为一条 for循环语句,其循环体是一条复合语句,将被重复执行 6次,对应控制循环的变量 i的取值依次为 0,1,2,3,4和 5,每次循环首先从键盘缓冲区读入一个常数并赋给 x,接着计算出 y的值,然后按一定格式输出 x和 y的值。 若程序运行后,从键盘上输入的 6个常数为 2,5,10,,则得到的输出结果为: 从键盘上同一行输入 6 个常数 :2 5 10 x= 2 y= 17 x= 5
___ 中国电子进出口总公司 17 __________________________(甲方 )在 _______________________(项目名称 )项 目 中所 需 ___________________________( 货 物名 称 ) 经北 京 理工 大学 以__________号(项目编号)招标文件在国内进行公开招标。 经评标委员会评定,确定
OOD表示。 A. 面向对象分析 B. 面向对象设计 C. 面向对象语言 D. 面向对象方法 74. 在一个类的定义中,包含有 成员的定义。 A. 数据 B. 函数 C. 数据和函数 D. 数据或函数 75. 在关键字 public后面定义的成员为类的 成员。 A. 私有 B. 公有 C. 保护 D. 任何 76. 假定 AA为一个类, a为该类公有的数据成员, x为该类的一个对象,则访问
共有專任教師 22 人,其中教授 8 人,副教授 13 人,助理教授 1 人。 預計 97 學年度將再增聘 1~ 2 位助理教授以上的專任教師。 22 位專任教師的學歷、專長、以及教授科目彙整於表 在 22 位專任教師中, 17 位擁有博士學位,具有充足的理論訓練。 本系由於學生人數較多,規模較大,因此能聘請 20 多位專任教師,專長涵蓋了一般管理、行銷、人資、財務、作業
hile Loops for Loops break and continue Difficulties: switch Statements while Loops break and continue treatment: Using example to let student learn Compiling Programs. Teaching method bination of