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

2008-04-09 04:44:49来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  接触过计算机高级语言的人都听说过面向对象编程(即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,这样我们就可以用这个名字来作为类的名字,定义它的实例,并访问它的属性和事件了.如下图所示:

  3、向类中添加属性

  在设定了类的属性和事件之后,我们就需要为类添加用户自己定义的属性了.要向类中添加属性有两种方法:一种是在类中定义public变量.在这里Public关键字表明在类中创建的变量是在任何模块中都可以使用的公共变量,也正因为这一点,所以程序的任何部分无须进行任何数据检查就能修改变量的值,这样如果传给对象的是一个坏数据,那么就可能产生问题(不过也因为使用简单,所以我们这里就使用这种方法);另一种是使用Property过程.这种方法类似于使用一个过程,通过调用过程时,将参数传递的数据,经过验证後,赋给类中的私有属性,(或者将私有属性传递给参数).通过使用这种方法,程序为访问和修改对象属性提供了接口,这样程序员就可以编写代码来验证向类传递的数据是否正确,使类的函数不会因传递了坏数据而崩溃.下面是对可以使用的三种属性过程及其作用的总结:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:VB编程控制Windows中文输入法

下一篇:在VB应用程序中调用Excel2000