首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从面向对象编程的角度来思考?

如何从面向对象编程的角度来思考?
EN

Stack Overflow用户
提问于 2011-02-05 03:46:53
回答 6查看 5.4K关注 0票数 2

我对游戏编程感兴趣已经有一段时间了,并尝试阅读了相当多关于OOP的书籍。问题是,大部分书籍向你展示了代码,并说“在这里添加这个”“在那里添加这个”,但它们没有解释OOP的“大图景”,而不是跳来跳去。我想知道的是如何从面向对象的角度来思考。例如,我读过这个帖子Object Oriented application problems in game development,它给了你一些关于如何思考你的类的很好的洞察力(比如,player "has","can"....world "listens")。我想要的是一种思维方式,让正确的问题顺序计划好哪些事情应该留给“玩家类”去做,哪些事情留给“世界级”去做,哪些事情要“私有”,哪些事情要“公开”,等等。我想回答“为什么”而不是“如何”我不想要代码,我希望OOP的问题或心态成为组织代码的一种自然方式。

例如,如果我正在处理碰撞检测。我应该把这个留给“世界”去检查吗?我应该让玩家去检查吗?我应该问自己什么问题?

很抱歉这个“宽泛”的问题,但任何事情都会有帮助。从一本好“书”到一些小贴士。

PD:我没有太多编程经验

诚挚的问候,

EN

回答 6

Stack Overflow用户

发布于 2011-02-05 03:59:59

别再看书了,出去编程吧。学习Java。使用一本书来做到这一点,但不要只是走过场,不要下载代码自己写。一开始你会想知道OOP的意义是什么,但之后你会遇到更复杂的问题,你会开始欣赏OOP给你的自由。像继承、封装和多态这样的东西现在对你来说只是个术语。您可能知道它们是什么意思,但是您还没有编写足够的程序来使用这些概念。一旦你使用了它们并创建了例证这些概念的类,你就开始学习真正的面向对象编程了。你不应该专注于让你的游戏OOP,你应该专注于让OOP适合你的游戏。

所以这个故事的寓意是围棋程序。

票数 2
EN

Stack Overflow用户

发布于 2011-02-05 04:32:19

写,写软件。人们对OOP过于看重了。它只是一种实现某些设计原则的方法,比如模块化和低耦合。您将进行实验,看看是什么让代码成为好的代码,以及如何使代码变得灵活和可维护。然后,您将理解导致良好设计的原则,无论是纯功能的、过程化的、OOP的,还是任何其他范例。

票数 1
EN

Stack Overflow用户

发布于 2012-05-02 06:56:38

有些问题天生就很复杂,但OOP可以帮助你理清头绪,以现实世界的方式思考问题。你可以做it...just开始尝试....

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4902242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档