什么样的C++知识更适用于游戏设计

来源:互联网 发布:nba球员excel数据统计 编辑:程序博客网 时间:2024/06/08 09:31
以前所有的课程都有一个共同点--他们都是非面向对象的。现在你已经对这些概念的一个基本的处理,我们可以进行面向对象编程(OOP),其中真正的收益!
在传统的编程中,程序基本上是向计算机的指令列表,通过定义数据(通过变量),然后使用这些数据(通过语句和函数)。数据和工作在该数据的功能是单独的实体,这些实体结合在一起,以产生所需的结果。
那么什么是面向对象的编程呢?与许多事情一样,它也许是最容易理解的,通过使用一个比喻。看看你周围-你看起来都是对象。对象有两个主要成分:1)列出相关的特性(如重量、颜色、大小、硬度、形状等),和2)的一些行为,他们可以展示(例如被打开,使东西热,等..)。这些属性和行为是不可分割的。
与传统的编程,属性(数据)和行为(功能)是独立的实体,这意味着传统的编程往往不提供一个非常直观的现实代表。它是由程序员来管理和连接的属性以适当的方式的行为。
面向对象编程(OOP)为我们提供了设计一个“对象”的能力,其属性和行为联系在一起,成为一个独立的、可重复使用的包装。这允许以一个更模块化的方式编写程序,这使得它们更容易编写和理解,同时也提供了更高程度的代码重用性。对象也提供了一个更直观的方式来与我们的数据,使我们能够定义我们如何与对象交互,以及它们如何与其他对象进行交互。注意,OOP并不取代传统的编程方法。相反,它给你额外的工具,在你的编程工具带管理的复杂性,当需要。

面向对象的编程也带来了一些其他有用的概念表:继承,封装,抽象和多态性(语言设计者有一个理念:永远不要使用一个小字,一个大的人会做的)。我们将在接下来的几章中,在即将到来的教程中覆盖所有这些概念。这是一个很大的新材料,但一旦你已经正确地了解OOP,你可能永远都不想回到传统的纯编程了。

我已经通过一些面向对象的术语而困惑,如“类”、和“包装”,等等;然而,似乎这些东西根本变化的老'子程序的构建。使用子程序是现在处理的语言,作为一个“交通控制器”,使它不需要的程序员跟上“回报”,并允许程序流继续在任何方向上。如果是这样的话,那么它就不那么难理解了。

这可能听起来像一个愚蠢的问题,但在面向对象以外的其他main()必须是一个对象的一切(即声明为类)或可以创建对象在适当的地方就用普通功能的时候是不是真的有必要创建一个对象。
我有一些代码,创建并显示一个弹出消息框,这是非常短暂的(1键)。这似乎有点愚蠢的把它放在一个班,我必须声明一个动态对象,然后调用一个方法然后删除对象,而不仅仅是调用一个函数。也就是说,当我在学习的时候,我不想陷入坏习惯。

亚历克斯,再次感谢你!我从来没有读过这样一个清晰的、良好的编程教程由英语。我有一个offtop问题。
你会告诉我很好,什么样的C++知识更适用于游戏设计,何为C++新手找到简单的游戏任务?例如,我想写的Win32应用程序将随机生成二维迷在控制台窗口。

有抱负的作家经常被给予建议,“不要使用一个长字,短的人会做”。换句话说,喜欢简短的话而不是长单词,因为简短的单词更容易阅读和理解。
然而,C++语言的设计者似乎更偏爱使用长词很多,如“继承、封装、抽象、多态性”。所以我在开一个玩笑。

1 0
原创粉丝点击