【发布时间】:2012-05-06 20:34:39
【问题描述】:
我无法理解类与它们的方法之间的关系。方法是对象执行的事情,还是对对象完成的事情?或者这完全是一个不同的概念?
具体来说,在图书馆的软件系统中,borrow() 方法应该属于代表图书馆读者的类,还是代表读者正在借阅的项目的类?我的直觉是它应该读起来像patron.borrow(copy),像英文句子结构,subject.verb(object);但我的导师说那是错误的,我不明白为什么他会让borrow() 属于Copy 类(而且他并没有真正解释得很好)。我不是在寻找理由,但有人能解释一下正确的关系吗?
编辑:此问题已作为“离题”关闭。我不明白。软件设计问题不适合这个网站吗?
【问题讨论】:
-
他希望它是
library.loan(patron, copy)可能吗?有很多设计可以工作。不懂就问他? -
Frungi 这是一个概念,所以它完全取决于你想如何关联这些类。
-
不不,他希望它是
copy.borrowCopy(account)。而且我已经说过他没有很好地解释事情。 -
这都是随意的,这根本不是OOP的神器,只是在宣扬他对做OOP的“正确方法”的看法。客观上,没有“正道”,只有特定人群持有的观点。正如@6502 指出的那样,OOP 不是一组高级规则,您所说的是面向对象设计,它与 OOP不同。
-
@KristopherMicinski 你说得对,抱歉,这是针对 OOD 课程的。我在脑海中将 OOD 和 OOP 混为一谈。
标签: java c++ oop class-design uml