Programming 笔记

工作中遇到的问题就记载这里

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

原文在:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchooinvbnet.asp
什么是OOP
    OOP 需要坚持四项基本原则.
    抽象(abstraction),
    封装(encapsulation)
    多态(polymorphism), 比如:有好几个 司机对象,他们全有DRIVE 方法, 那么我们可以让不同的对象开不同的车. 有的开左驾的车,有的开右驾的车,有的可以手动挡,有的可以开自动挡. 但他们都用相同的方法 "DRIVE".
    继承(inheritance),

VB.NET 的OOP
   VB.NET 的OOP 和VB6的OOP是完全不一样的. VB.NET已经彻底的完全的支持四项基本原则,所以是彻底的OOP. (<至于VB6 OOP有那些不同, 我也没搞明白呢). 所以,VB.NET 里的STRING, INTEGER 也全是对象.

比如我们想知道INTEGER最小的数, 就用这个方法就行了.
    Dim i As Integer
    MsgBox(i.MinValue)
Integer 作为一个对象, 他有他的属性和方法. MinValue 就是他的属性.

定义一个类(CLASS)

VB6 是用Class Module定义类,一个类就要单独有一个Class Module. VB.NET 一个文件可以包含几个类。 这点和Java 是一样的。你甚至可以在类里面在创建类。 好, 先看个简单的,
Public Class CCustomer
End Class

这是两个类放在一个文件里
Public Class CCustomer
End Class
Public Class CContact
End Class

这是创建属性,
Private m_sName As String
Property Name() As String
    Get
        Return m_sName
    End Get
    Set(ByVal Value As String)
        m_sName = Value
    End Set
End Property

定义方法,
Public Function SayHello() As String
        If Name <> "" Then
            Return "Hello " & Name
        Else
            Return "Hello World"
        End If
    End Function

没有初始
Public Sub New()
        ' Perform initialization
        Debug.WriteLine("I am alive")
    End Sub

有初始
Public Sub New(ByVal sName As String)
        ' Assign the name
        Name = sName
        'Other initialization
        Debug.WriteLine(Name & " is alive")
    End Sub

清空一个对象, 这样就别让已经没用得对象占这 内存不走
有三个名词:Finalize, Dispose, IDisposable
应该用Interface 来执行Dispose 方法,
Implements IDisposable
    Public Sub Dispose() Implements System.IDisposable.Dispose
        ' Perform termination
    End Sub

创建和消毁对象

Private m_oCustomer as CCustomer
m_oCustomer = New CCustomer()

m_oCustomer.Dispose()
    m_oCustomer = Nothing












posted on 2005-09-12 07:17  IT 笔记  阅读(336)  评论(0编辑  收藏  举报