gpt4 book ai didi

language-agnostic - 对象的行为回答什么问题?

转载 作者:行者123 更新时间:2023-12-03 23:40:49 26 4
gpt4 key购买 nike

看了一本书,我发现了以下说法:

(Object) Behaviors answer either of two questions: What does this object do (for me)? or What can I do to this object? In the case of an orange, it doesn’t do a whole lot, but we can do things to it. One behavior is that it can be eaten.

根据我对对象行为的理解,上面的陈述对于第一个问题是正确的,而对于第二个问题则是不正确的。但是,我经常看到带有 Orange::eat() 之类方法的类,这让我对自己的设计技能感到不确定。所以我想问一下,给橘子一个的行为是设计错误吗? (以oranges和eat为例)

最佳答案

我认为您对对象及其职责的思考方式没有任何问题。如果橙子有嘴,Orange::eat() 就有意义了。否则,是 Animal 正在吃东西。

问题是,SVO(主语-动词-宾语)句子并不总是描述事物的最佳方式,但 OOP 似乎严重偏向于这种陈述,所以我们经常遇到奇怪的、不自然的和代码中的抽象句子结构。

关于language-agnostic - 对象的行为回答什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2407730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com