推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

如何学好面向对象编程

   2023-08-23 网络整理佚名2580
核心提示:就是一个对象。将这些特征抽象出来,组成一个基类,有这些特征的单位继承这个基类,当然这个基类在游戏中是不会出现实例的。红警是不是用面向过程语言写的我不敢肯定,但是他的操作方式无疑很符合面向过程的思想,他不是先选一个单位,然后进行操作,而是直接先选操作,然后看操作什么单位。显然,这是将操作与数据脱离了的,因为操作不属于任何一个类。等面向对象语言,我建议你先学会打星际。

面向对象编程的核心概念是类和对象。 在《星际穿越》中,一个单位就是一个类,这个单位的实例就是一个对象,比如类,你在游戏中创建的就是一个对象。

类具有数据成员和成员函数。 《星际穿越》中的单位也有属性和方法。 我们以它为例。 其属性包括血量、攻击力、护甲、是否被辐射等,其方法包括移动、攻击、持有等,显示在右下角。

这些属性是只读的,体现了类的封装性。 你不能直接修改血量,除非你使用方法,比如你A他,或者给他血。

类的另一个重要特征是继承。 星际中,很多单位都有共同的属性,比如血量、护甲、是否中了绿毒等,还有很多共同的方法,比如移动、停止等。将这些特征抽象出来,形成基类。 具有这些功能的单元继承这个基类。 当然,游戏中不会有这个基类的实例。

类别也可以组合,例如航空母舰包括本体和小型飞机,坦克包括底座和炮塔。

类也具有多态性。 比如函数重载,同时右键可以移动,或者攻击或者修复,取决于点里的单位是什么,比如调用同名函数,是由哪一个参数决定的。

还有运行时的多态性,比如同一个方法,不同的对象有不同的含义,比如同一个A键,有的单位是,但mm是血。

我不确定红警是否是用面向过程的语言编写的,但是他的操作方法无疑是符合面向过程的思想的。 他不是先选择单位再操作,而是直接先选择操作,然后看操作是什么。 单元。 相当于这个操作是一个全局函数,参数是各个单元。

显然,这将操作与数据分开,因为操作不属于任何类。

总结:星际争霸体现了面向对象思想的精髓。 如果你打算学习C++等面向对象语言,我建议你先学玩星际争霸。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON