科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件面向对象思想在VB游戏开发中的运用

面向对象思想在VB游戏开发中的运用

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文以一个相对较小的例子来看一看VB中怎样使用面向对象的编程方法。

作者:潇潇 来源:天极网 2007年10月14日

关键字: 面向对象 VB 游戏开发

  • 评论
  • 分享微博
  • 分享邮件
接触过计算机高级语言的人都听说过面向对象编程(即OOP),但究竟什么是面向对象编程呢?这个问题就不是刚刚接触计算机的初学者所能完全理解的了.为了帮助大家理解面向对象的编程,我们这里用VB作为开发工具,以一个相对较小的例子来看一看VB中怎样使用面向对象的编程方法。

  什么是面向对象的编程方法呢?

  总的说来面向对象的编程方法的核心就是:封装性、继承性和多态性。下面我们作一个简单的介绍:

  封装性也就是说要将对象的信息(也就是对象的属性)和对象所能执行的动作(也就是对象的方法)包装起来,这样就可以让使用者可以用深入不了解内部的运作原理,就可以对其进行操作。举个简单的例子,在VB中我们要使用的一个控件,我们不必了解其中给一个属性是怎样传给对象的,也不要知道当我们调用一个对象控件的方法时,对象在其中为我们作了些什么,我们所要作的仅仅是要符合它的使用规范对其进行简单的使用即可。

  继承性则是说,一个对象可以在一个或多个已有对象的基础上,通过继承这些对象具有的属性,方法和事件,并添加自己的属性方法和事件,使其功能更加强大。而其中对已有对象的属性,方法和事件的拥有,就是继承性的精髓所在。比如在V B中有一个TEXTBOX控件可以处理简单的文本信息,同时还有一个RICH TEXTBOX控件,很明显后一个控件是在前一个的基础上建立起来的,但在功能上后一个除了具备前一个控件的功能外,还具有远远强于前者的更加丰富的功能。

  多态性,简单的说,就是在许多种不同的对象中,可以使用相同的方法,但是同样的方法能为各个对象执行不同的任务.也就是说程序能在运行时根据不同的对象,运行是用于当前对象的方法.例如,几乎所有的控件都包含一个move方法.当一个控件调用这个方法时,程序能够准确的知道是那一个控件在使用这个方法,从而执行此控件特定的任务.

  可以看到面向对象的编程方法关键就是为了提高代码的可重用性,从而减少代码的长度,减轻程序员的负担。

  那么在VB中怎样进行面向对象的编程呢?其实说出来也很简单。在V B的工具箱中的每一个控件从实质上说都是一个类,其中包含了这个类的所有的属性,事件和方法。当你将一个控件放置在V B工程的窗体上时,开发工具自动为你创建这个控件类的一个实例,通过这个实例你可以方便的使用它的另一种属性,事件和方法。另一种,就是不使用可见的控件而是从“工程”中“引用”一个类的,并在代码中显示的定义这个类的一个实例,就可以想用控件一样对其属性,事件和方法进行灵活的控制了。

  我们这篇文章将用类的方法完成一个扫雷游戏的编写,更主要的是在其中我们可以看到怎样建立一个自己的类,以及在工程中使用这个类。

  一、我们现来看一看怎样建立一个类

  在VB中建立一个类要使用Class Module(类模块).一个类模块相当于一个简单的程序对象.当一个类模块建立起来后,我们就可以在程序的其他窗体中,定义一个类的实例,然后就像使用一个对象一样访问它的属性,调用它的方法.下面是一个简单的例子.

  对于扫雷游戏来说,每一个地雷都有一个位置,这些地雷按位置紧密排列在窗体上,所以我们可以先建立一个包含地雷x , y轴位置的类.具体过程如下:

  1、创建一个类模块。首先在v b的[工程]菜单上选择[添加类模块]。这样就在工作区中显示了一个新的类模块,其默认的名字为Class1,如下图所示:

           


  2、设定类的属性和事件。当建立一个新的类之后,就需要设定类的三个属性值。

  属性:

   Name属性:也就是类的名字,可以在程序中区别于其他的类。

   Public属性:用来确定该类在当前的项目之外能否被其他程序使用。只有两个值:True和False。当该属性值为True时,其他应用程序可以对该类进行某种类型的访问。其访问类型由下面的Instancing决定。当该属性值被设置为False时,表示该类只能在定义类的程序中使用。

   Instancing属性:用来确定其他的应用程序何时能够访问该类。该属性只有在Public属性设置为true时才起作用。(不是太重要,我们省略)

  事件:类模块主要有两个事件:Initialize和Terminate。在创建类的时候,我们可以在这些事件中添加代码,这样就可以在类的实例被创建或被析构时使程序采取一些动作。类似于C/C++中的构造函数和析构函数。

  在这里我们主要修改了新类的Name属性:设置为clsCoords,这样我们就可以用这个名字来作为类的名字,定义它的实例,并访问它的属性和事件了.如下图所示:


    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章