日期:2012-12-30  浏览次数:20392 次

 

对于复杂的操作设计解决方案,必须首先确定组成这个系统的对象,在vb中,我们常常把每个对象的属性和操作组合到一个类里面,类的定义如下:
                                                Class ClassName
                                                            '属性和操作
                                               End Class
一个完整的例子:

Class Classname

   dim a as string

   dim b as integer

   dim c as string

   sub op()

   end sub

   sub cl()

   endsub

endclass

类的定义本身不产生变量,定义之后可以使用new操作符来产生变量

dim  variable as classname

变量定义后可以使用点运算符来引用

variable.a = 'test'

创建类的时候,应当把类设计成一个“黑匣子”,就像电视机一样我们不需要了解电视机的组成和原理,直接用就可以了,可以隐藏类的私有类成员和方法,

用来控制类成员访问的修饰符

Friend    :    只在当前项目中可用

private   : 只在本类中可用

protected :  在本类和本类的派生类中可用的成员

protected  friend:在当前项目和本类的派生类中可用

public   :类以外的代码也可以访问

默认值为:public

类成员的初始化:

创建类的对象的时候,通常立即赋值,为了简化赋值的操作,可以放入专门的子例程,即构造器,在任何类定义中,它都叫做new,例如:

class book

   public  title as string

  public  publisher as string

sub new()

     me.title=title

     me.publisher=publisher

end sub

end class

  如果要简化对象成员的引用可以使用with运算符

在创建类的时候,可能经常需要对类的变量赋值进行限制,例如,年龄,为了实现对类变量赋值的限制,可以在变量定义的时候使用private,例如

Module Module1
    Class book
        Public title As String
        Public author As String
        Private price As Double
        Public Property bookprice() As Double
            Get
                Return price
            End Get
            Set(ByVal Value As Double)
                If (Value >= 0) And (Value <= 100) Then
                    price = Value
                Else
                    MsgBox("error")
                    price = 0
                End If
            End Set
        End Property
        Public Sub New(ByVal title As String, ByVal author As String)