vb.net的面向对象性

从开始我们学习vb,就接触了面向对象的思想。不过vb是基于面向对象的,学习的时候也没能真的理解面向对象,现在开始学习vb.net了,,在visual Basic中处理的任何事物几乎都和对象有关系。
对象是一些把属性(Properties)、方法(methods)和事件(event)作为一个单独的数据类型进行处理的实体。对象可以使用户只需首先声明一些变量和方法以后,在感觉需要使用的时候,调用一个它的对象进行重用就可以了。
例如想保存一辆汽车的信息,就可以通过定义一些变量来描述一辆车的颜色和马力,但问题是,这个变量只是描述这一辆汽车的参数,如果又要描述另一辆汽车的参数的话,则又要定义一些其他变量来存储这些信息。如果使用类,就可以解决这个问题,只需要定义一个通用的汽车的类,每当需要描述一辆汽车的时候只需定义一个对象就可以了,这样就达到了代码重用的目的。
类描述了对象的字段、属性方法以及对象的事件,对象是类的一个实例。在定义了一个类后,可以在需要的时候定义很多对象。
1.属性方法和事件
类是由属性方法和事件组成的,用户可以象使用变量一样使用属性来存储一些信息。

属性在类中是以"Property Get"和"Property Set"过程来定义的。例如,一个对象名叫“Car”,定义它一个属性Color,下面是最简单的代码

        Private m_Color As String
 
        Public Property Color() As String
            Get
                Return m_Color
            End Get
            Set(ByVal value As String)
                m_Color = value
            End Set
        End Property 
方法表示了类可以做的一些事情,例如Car对象可以有StartEngine,Drive和Stop方法。 事件是表示一个对象从外部得到的信息的一个标示,事件允许对象任何时候在事件调用的时候做出相应的动作。例如,类 Car的一个事件可以是Check_Engine。因为微软的Windows是一个事件驱动的系统,所以事件可能会来自于任何一个地方。比如,用户点击键盘或鼠标时,就是触发了一个事件。当然,一些事件的触发可能来自于其他的对象。 2.封装,继承和多态 属性方法和事件只是面向对象编程的部分概念,真正的面向对象编程需要对象满足和支持下面三个特性:封装性,继承性和多态性。 封装性表示一个对象的属性方法。对外界而言,是不能直接访问的。而对象本身对于属性方法具有绝对的控制,比如一个对象可以在属性允许变化之前确认一下变量的值。 继承性表示可以在一个类的基础上建立一个新类。派生类,也就是继承类,可以具有基本类的所有属性方法和事件,并且可以加上一些其他的属性方法,例如可以根据基本类Car建立一个新类Suv。Suv类可以从Car类中继承Color属性,而且还可以加上一些其他的属性例如:FourWheelDrive。 多态性是指一些不同的类可以建立一个具有相同名称属性或者方法。多态性对于面向对象编程是非常重要的,因为它可以使用户不论在什么时候,也不论用户正在处理什么对象,都可以调用这个具有共同名称方法。例如有一个基本类Car,多态性可以允许它的派生类具有不同定义的StartEngine方法,派生类DieselCar的StartEngine方法可能和基本类的StartEngine方法完全不一样,但是也可以调用的。当然,其他的方法或者属性也可以这样处理。 当然面向对象的优点肯定不止这么点,这里只是介绍了一下我的简单理解,通过一些例子说明了一下,更好的理解请期待……

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...