怎么表达下面对象之间的关系

问题描述

有A B C D 四种药 他们之间 没有任何关系 我们在使用B 的时候 必须要使用A 或者使用C 或者是D A C D 中必须要有一种或者多种和B组合使用将这个方案用代码设计出来 问题补充:谢谢了

解决方案

public interface IACD{void Do();}public class A:IACD{void Do();}public class C:IACD{void Do();}public class D:IACD{void Do();}public class B{ private B bInstance = null; private List<IACD> acdList = new List<IACD>(); private B(){//....} public B createB(IACD...acd){b = new B();//添加acdfor(IACD a in acd){ acdList.add(a);} }}

时间: 2024-12-28 16:34:01

怎么表达下面对象之间的关系的相关文章

java中变量和对象之间的关系问题

问题描述 java中变量和对象之间的关系问题 java中变量和对象之间的关系问题 是对象属于变量,还是变量属于对象 它们是充要的还是充分不必要还是必要不充分的 我不是上面的数学逻辑属于适合不适合描述对象和变量之间的关系 解决方案 一般来说,变量类型会叫基本类型,比如Integer等,还有就是对象变量,就是引用对象的变量. 对象中可以定义变量.

class-如何简洁明了的描述Android中活动、实例、对象、类、抽象类、接口之间的关系?

问题描述 如何简洁明了的描述Android中活动.实例.对象.类.抽象类.接口之间的关系? 如何简洁明了的描述Android中活动.实例.对象.类.抽象类.接口之间的关系? 解决方案 实例.对象.类.抽象类.接口是java的语法,和android没有关系. 抽象类是不可以实例化并且包含抽象成员的类,一种特殊的类. 类的实例叫做对象 接口约定了一个类必须实现哪些方法 android的活动(activity)是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务 解决方案二: 抽象类和接

js函数和js对象之间关系

问题描述 js函数和js对象之间关系 function Pub(){ } Pub.submit=function(formindex) { document.forms[formindex].submit(); } 上面列子中 Pub是一个函数不是一个对象,为什么可以用Pub.submit= 啊,谁能指教一下啊,在此谢过 解决方案 在js里,函数本身就是类的作用.函数没有new Pub()之前是类还不是对象 直接函数名.属性,类似其他语言的静态属性 解决方案二: js对象 函数js中多层关系窗口

XML和数据库之间的关系

xml|数据|数据库  1.0 简介    本论文简要的探讨了XML和数据库之间的关系,同时列出一些可以使用数据库处理XML文档的软件. 虽然这里不打算详尽地介绍这些软件,但是笔者希望它能够描述使用数据库处理XML文档中的主要部分.这里有点偏向与关系数据库,因为我的经验如此.     2.0 XML是数据库吗?     在开始讨论XML和数据库之前,我们需要回答一个萦绕在很多心头的问题: "XML是数据库吗?"在严格意义上将,如果"XML"是指XML文档时,答案是&

关于对象之间通信的一点思考

经典的DDD的告诉我们如果一个领域概念是一个跨多个聚合的动作,比如转帐,那么就应该用领域服务来实现这样的业务概念.领域服务的输入和输出参数都是聚合根,领域服务内部按照业务逻辑规定的执行顺序,按照面向过程的方式,逐个调用相关聚合根的相关方法完成整个业务操作.这种方式的优点是:1)清晰的表达和封装了业务逻辑:2)代码清晰,容易理解,代码可读性强:缺点:1)基本的OO思想告诉我们,对象与对象之间应该是通过发送消息和接收消息的方式来通信的.但是通过前面这种方式,对象之间不再像我们想的那样会通过发送消息和

MySQL 查找锁之间依赖关系的信息和最源头锁的thread_id号及关系

链接: http://blog.itpub.net/28602568/viewspace-1874982/ 标题: MySQL 查找锁之间依赖关系的信息和最源头锁的thread_id号及关系 作者:lōττéry版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.] #mysql 锁之间的依赖关系信息sql如下[打开注释部分的sql是查找最源头锁的thread_id线程id及关系]      SELECT distinct b.trx_id blocking_trx_id, 

静态联编,动态联编,类指针之间的关系,虚函数与多态性,纯虚函数,虚析构函数

1.静态联编,是程序的匹配,连接在编译阶段实现,也称为早期匹配.重载函数使用静态联编. 2.动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编.switch语句和if语句是动态联编的例子. #include<iostream> void go(int num) { } void go(char *str) { } //class //::在一个类中 class A { public: void go(int num) { } void go(char *str) { } }; void

大话UML中类之间的关系

关于uml的内容在大学的时候学习过,感觉是花拳绣腿的一些知识,想用但是限于自己的认知和经验,实在是很难运用,到了工作的时候,感觉不需要这些工作也照样能做得很出色,过度的自信就这样维持了几年,等到积累了一定的项目经验,对于设计的关注程度也逐渐提升,有时候想表达一些设计的思想,自己DIY的图表可能只有自己能够看懂,看一些设计思想中的图也是似懂非懂,看来刚学外语也是不够的,还得学习UML,无规矩不成方圆嘛,让UML来作为我们设计中的思想转化器. 说起UML中类之间的关系,大体有以下几类 继承关系(Ge

对象的继承关系在数据库中的实现方式和PowerDesigner设计

在面向对象的编程中,使用对象的继承是一个非常普遍的做法,但是在关系数据库管理系统RDBMS中,使用的是外键表示实体(表)之间的关系,那么对于继承关系,该怎么在RDBMS中表示呢?一般来说有3种实现方式: Concrete Table Inheritance(具体表继承) Single Table Inheritance(单表继承) Class Table Inheritance(类表继承) 比如在一个教务系统中,有老师学生2个对象,这两个对象都是"人"对象的子类,所以我们可以建立一个P