转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB.Net中文教程(8) 对象(Object)基本概念         ★★★★

VB.Net中文教程(8) 对象(Object)基本概念

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3745 更新时间:2009/4/23 19:01:09
bsp; Inherits System.WinForms.Form
   
    Public Sub New()
        MyBase.New()
        Form1 = Me
        ''''This call is required by the Win Form Designer.
        InitializeComponent()
        ''''TODO: Add any initialization after the InitializeComponent() call
    End Sub
    ''''Form overrides dispose to clean up the component list.
    Public Overrides Sub Dispose()
        MyBase.Dispose()
        components.Dispose()
    End Sub
#Region " Windows Form Designer generated code "
     .......
#End Region
    Protected Sub Form1_Click(ByVal sender As Object,
                            ByVal e As System.EventArgs)
        Dim a As New FruitTree()
        Dim k As New FruitTree()
        a.SetPrice(20)
        a.SetHeight(2.1)
        k.SetPrice(10)
        k.SetHeight(0.5)
        Dim amount As Double
        Dim height As Double
       
        amount = a.computeAmount(25)
        height = a.inquireHeight()
        Messagebox.Show(str(amount) + "元 ,  " + str(height) + "公尺", "结果")
        amount = k.computeAmount(25)
        height = k.inquireHeight()
        Messagebox.Show(str(amount) + "元 ,  " + str(height) + "公尺", "结果")
    End Sub
End Class

当您把这程序输入计算机﹐并利用VB执行它﹐则计算机输出结果如下﹕

           500元,   2.1公尺
           250元,    .5公尺

请注意﹕这程序中有数个public专用字﹐此刻您不要为它们而伤脑筋﹐此后各章将详细说明之。现在您必须了解之重点是﹕

(1) 如何表明您所设计之类别﹐以及类别之间的父子关系。
    例如﹐类别关系是﹕
                  
              
    在程序里﹐从上层类别开始﹐依照由上而下之顺序逐一把各类别叙述清楚。各类别所属之数据项(变量)﹐也得说明清楚。

(2) 如何把函数加入类别中﹐以支持对象之行为﹐使对象能接受讯息、进行运算并输出结果。
   例如﹕FruitTree已加入 4 个函数﹐使得Fruit_tree类别之对象能接受并处理 4种讯息。

  
为了让对象能接受并处理讯息﹐必须把适当的函数加入类别中﹔因之﹐类别内含有两种重要成份──

                 1.数据项
                 2.函数

我们称这数据项为类别之「资料成员」(Data Member) ﹔并称这函数为类别之「成员函数」(Member Function)。例如:FruitTree类别含两个资料成员──

                  成熟月份
                  价格

FruitTree类别含 4个成员函数──
                
                 computeAmount()
                 inquireHeight()
                 SetPrice()
                 SetHeight()

(3) 如何产生对象。
如果您把类别视为一种资料型态(Data Type )﹐那就轻而易举了。想产生两个FruitTree类别之对象﹐就写指令如下﹕

              Dim a As New FruitTree()
              Dim b As New FruitTree()

 能以两种方法了解上述之指令﹕

1. 把FruitTree视为类别﹐则a, k就是对象﹔则此指令就宣告两个「对象」(Object)。
2. 把FruitTtree视为一种资料型态(Data Type) ﹐则 a , k 就是FruitTree型态之变量﹔则此指令宣告两个「变量」(Variable)。

综合上述两种看法﹐您可认为﹕FruitTtree是一种「型态」﹐a 和k 是「变量」﹐而类别型态之变量就是「对象」(Object)。

(4) 对象中含有那些资料。
    类别的父子关系﹐决定了对象之「继承」(Inheritance) 关系﹐也决定对象中所含有之数据项。例如﹕FruitTree是Tree之「子类别」(Subclass)﹐则FruitTree类别之对象继承Tree类别内之数据项。所以指令──

                 Dim a As New FruitTree()

   产生了对象 a﹐它含有 FruitTree 类别内之「资料成员」﹐也含有Tree类别内之「资料成员」。

          
               
(5) 如何把讯息送给对象。
    讯息与对象之关系可表示如下﹕

             
                                  
    程序的写法为﹕

              
   例如﹕  a.SetPrice( 20.0 )
   及      a.SetHeight( 2.1 )

   当计算机执行了这两个指令﹐亦即对象 a接受到这两个讯息﹐则 a之内容会有所变化﹔对象内部之变化也是一种行为﹐是对象对讯息之反应。此时Tree类别的height值为 2.1﹐price 值为 20.0 。如果想把传回之结果存入变量中﹐程序写法为﹕
            
                 
例如﹕
               

       当计算机执行这两个指令﹐即把此二讯息送给对象 a﹐则 a会传回值﹐并经由 "="运算而存入变量中。于是amount值为 500元﹐而height值为 2.10 公尺。


习题
[1]「马上相逢无纸笔﹐凭君传语报平安」在此句话中﹐牵涉到几个「人」对象呢﹖其传递了什么讯息﹖其讯息对这些「人」对象之行为会有何影响呢﹖
[2] 林老师请小芳打电话向小美说﹕「祝你生日快乐」。可表示如下﹕
            小美. 打电话(「祝您生日快乐」)
     或者   小芳. 请打电话(小美﹐「祝您生日快乐」)
     或者   林老师. 打电话(小芳﹐小美﹐「祝您生日快乐」)
     何者较合理﹖理由何在﹖
[3] 有对男女朋友﹐互相询问对方的母亲的生日﹐该如何表达其讯息传递情形呢﹖
[4] 当您要求银行人员替您算出某帐户本月的利息时﹐其讯息可表示为﹕
          银行人员. 计算利息(帐户)
  或者    帐户. 计算利息()
  何者较合理呢﹖

 

 


 

上一页  [1] [2] [3] [4] 


[系统软件]14.5.10.1 Object creation expressions  [Delphi程序]The Delphi Object Model (PART III)
[Delphi程序]The Delphi Object Model (PART II)  [Delphi程序]The Delphi Object Model (PART I)
[Delphi程序]Object Pascal:从对象指针谈起  [Delphi程序]Object Pascal Style Guide
[Delphi程序]Object TreeView简要说明  [Delphi程序]Object Pascal中String类型的内幕探讨
[Delphi程序]delphi学习笔记(2)-object pascal语言的语句  [Delphi程序]delphi学习笔记(1)-object pascal语言的数据类…
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台