如何设计类与类之间的关系
如何设计类与类之间的关系:
比如
A类(人类)<-(玩法)-> B类(扑克),
A类(人类)<-(操作)-> C类(汽车),
A类(人类)<-(使用)-> D类(椅子)
像这种同一个类与其他不同类之间又有关联,怎么设计呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何设计类与类之间的关系:
比如
A类(人类)<-(玩法)-> B类(扑克),
A类(人类)<-(操作)-> C类(汽车),
A类(人类)<-(使用)-> D类(椅子)
像这种同一个类与其他不同类之间又有关联,怎么设计呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
其实分类,主要还是要看你准备抽象到什么地步。
举个例子,问题说道了"玩法","操作","使用",他们都可以抽象成“方法”,只不过是不同的应用而已
"扑克","汽车","椅子",这些都是需要用到的东西,把它们抽象成“物件”
下面为了方便理解我用的名字基本都是中文,其实学OO的概念,不要把它学死,下边的使用只是一种方式,从不同的角度去看去抽象,能写出各种各样的东西。
比如说:下边我把怎么使用这个东西的方法写在了“人类”里,但你想想,也许应该是“人类”拿到了这样东西就会用了而不是我告诉“人类”怎么用,又或者说这个东西它能这样用,而不是人类只会这么用。
理解的是OO的概念,帮助你将来去更有效更便利的写code就可以了。
定义一个接口
为BCD定义一个父类,实现接口Use
BCD类继承类Item,并覆盖useBy方法(或者重载?比如扑克有多人玩)
面向对象学的不好,抛砖引玉了~
从你的例子来看,关联只是在A类对其他类有“行为”的时候发生?还是我没理解好?
若如你提问的那样,一个“类”对“另一类”实施某“行为”的关联就是以下这样解释
其实这里把 人类 抽象成
实施者
,实施者
有行为
可操作对象。再来就是对象,我们有 扑克、游戏机、汽车、飞机、椅子 这么多个,但是
实施者
的行为
并不是都可以操作全部对象,如:人类.驾驶(扑克)
。所以行为
需要限制操作对象,而对象也需要分类。-w-)/我理解就这么简单,如果题主能补充多的问题可能更好。