尝试编写一个简单的应用程序,但我遇到了一个继承问题,
其中哪一个是正确的?具体哪一个应该根据特定情况正确?
A)。
或
B)。
感谢您提供任何意见。
答案 0 :(得分:4)
方形是矩形吗?是的,数学上!方形类是否应该继承矩形类? Definitely not (pdf)!
开发人员是程序员吗?由于这比上面的问题更难回答,我宁愿不用继承来建模这种关系。他们可能是兄弟姐妹,并共享一个共同的抽象类或接口。
但是如果你能提供更多信息,比如行为,责任和情景,那将有助于找到合适的设计。
<强>更新强>:
每个设计都应该用于目的。如果您没有要构建的应用程序,并且要求要实现,那么为了设计而进行设计是徒劳无功的。
答案 1 :(得分:1)
取决于 - 哪一个继承自另一个?
如果你的问题是如何绘制显示继承的UML图,那么箭头应该在(触摸,指向)超类上。
如果您要求概念答案,IMO开发人员是程序员的子类,因为开发人员会添加行为。任何人都可以编程(好吧......),但不是每个人都是开发人员。
定义问题。
答案 2 :(得分:1)
LOL。一个开发人员“IS A”程序员,所以B是正确的,但我会反转图表,将Developer放在程序员的顶部,“Using”箭头指向Programmer。我喜欢这样做以显示“基础”关系 - 程序员是开发人员的基类(尽管我确信这会激起一些人的愤怒。
与此同时,这是一个哲学问题(我假设你很清楚)。
答案 3 :(得分:1)
继承表示“是一种”关系。
每个程序员都是开发人员吗?
每个开发人员都是程序员吗?
也许两者都有?
取决于您的应用所处理的域名。 I.E.房地产开发商与广播节目制作者关系不大。
答案 4 :(得分:1)
如果你的开发人员不是程序员,那就是A.如果你的程序员不是开发人员,那就是B.如果你有两者或两者都没有,那都不是。