频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

从<<魔兽争霸>>中如何学习Java

来源: 作者:IT168 飞飞 出处:巧巧读书 2008-01-31 进入讨论组
下一页 1 2 

你能想到竞技游戏《魔兽争霸》以下简称魔兽,能与Java扯得上关系吗?要是冷眼一扫,肯定认为我这是无稽之谈。但是至今最令我难忘的Java学习经历还是从魔兽开始的,是它给了我灵感,给了我对Java深奥技术的理解,那就看看我当年学习Java时候与魔兽不得不说的缘由吧!

    作为一个软件开发者,同时也是一个游戏爱好者,每当我谈起这个艺术性很强的游戏,就不得不让我追溯到大学生活,打魔兽成为大学业余活动的重要部分。可一次思绪的飞动,让我把学习与这个游戏紧紧的联系在了一起。
下面我就把Java学习上以及Struts框架学习上的一点经历与心得,写出来和大家一起分享。

    1:关键字一:英雄与Java面向对象
魔兽争霸这款游戏给我们带来英雄的这个概念,这使游戏的类型发生很大的变化,魔兽的诞生是游戏史上的一个里程碑,而如今正是这个王朝的鼎盛时期。

    在学习Java初期,我接受了面向对象的思想。面向对象的根本思想就是“万事万物皆对象”。那么什么是对象?对象就是描述客观事物的实体,它将自己的属性和操作封装在自己的内部,而只对外提供访问接口。记得当时老师布置Java专题的时候,我刚写好了一段程序调通了,小有成就后就跑到别人的机器上玩魔兽了,当时打不死族,进入游戏,看到地穴一个又一个生产出来食尸鬼,脑子里突然就想,这些小崽子是怎么出来的呢?这有点像程序里A a=new A()一样,太神奇了,我恨不得说自己是天才。

    再找找死亡骑士看了看,他有属性和操作。属性:敏捷度、智力值、生命值、魔法值;操作(魔法技能):死亡缠绕、死亡契约、邪恶光环、操纵死尸。同样有属性和操作,这和类不是差不多么?而且魔兽里有这么多英雄,死亡骑士只是其中的一个,对象来自类的实例化,那它是不是由一个产生英雄的类实例化产生的呢?

    魔兽中的每个实体都可以看成一个对象。无论是死亡骑士、牛头人酋长等英雄,还是女猎、食尸鬼等小兵小蟹、甚至无敌药水、传送权杖等商品都可以看成对象,它们也都有自己的属性和操作。

    面向对象思想的特点:封装、继承、多态。
    下面简单说一下把这三个特点描述一下。
封装性,通常属性值都被设置为Private,若要对属性进行读取和修改则要通过方法的GET和SET实现,而仅将对象中对外公开的接口方法设置为Public给用户使用。因此对象是一个封装良好的黑盒子,我们只能通过接口来访问它。

    你在玩魔兽的时候,英雄的那些属性,譬如生命值、魔法值、攻击力值等,其实都被封装在每个英雄的类里。那我们为什么可以读取这些属性呢?那是因为这些类提供给
了我们读取属性的接口。

    多态性,多态性指的是相关的对象按照各自类型来实现方法的能力。继承性指的就是派生类(子类)继承抽象类(基类、父类),它是一种类特殊化的方式,用于联系派生类和抽象类。在这里我把这两个特点一起举例说明一下。在魔兽里,四个种族都有农民,而且属性和方法基本一样,那我们就可以为农民这个概念设置一个基类,然后将每族农民设为一个子类。每个子类方法的类型可能不一样。在运行时,通过判定对象所属的类型再去执行相应类型所对应的方法的。所以多态性与继承是紧密关联的。

巧 巧 读 书:http://www.qqread.com/java/2008/01/y395086.html 更多文章 更多内容请看Java环境安装配置Java编程开发手册专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章