第5章 面向对象技术优秀课件.ppt
《第5章 面向对象技术优秀课件.ppt》由会员分享,可在线阅读,更多相关《第5章 面向对象技术优秀课件.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 面向对象技术第1页,本讲稿共67页主要内容5.1 模块和名字空间5.2 类和对象5.3 属性、方法和事件5.4 继承和多态5.5 接口第2页,本讲稿共67页5.1 模块和名字空间第3页,本讲稿共67页模块(Modules)模块中可以包括变量和方法,通常很少直接引用模块的名称通常不是很重要,因此模块中的成员可以直接使用第4页,本讲稿共67页举例1Module Test Sub Main()Console.WriteLine(Add(10,20)End SubEnd ModuleModule Math Function Add(ByVal x As Integer,ByVal y As I
2、nteger)_ As Integer Return x+y End FunctionEnd Module第5页,本讲稿共67页举例2Module Test Sub Main()Console.WriteLine(Acme.Add(10,20)End SubEnd ModuleNamespace Acme Module Math Function Add(ByVal x As Integer,ByVal y As Integer)_ As Integer Return x+y End Function End ModuleEnd Namespace第6页,本讲稿共67页什么时候需要明确指出模块
3、名称?当两个模块中定义了同名的成员,在使用时必须明确指出该成员来自哪个模块第7页,本讲稿共67页Module Test Sub Main()Console.WriteLine(Add(10,20)End SubEnd ModuleModule IntegerMath Function Add(ByVal x As Integer,ByVal y As Integer)As Integer Return x+y End FunctionEnd ModuleModule LongMath Function Add(ByVal x As Long,ByVal y As Long)As Long Re
4、turn x+y End FunctionEnd ModuleIntegerMath.Add(10,20)orLongMath.Add(10,20)第8页,本讲稿共67页名字空间(Namespaces)名字空间是程序集中相关类型的一个组织方式在.NET中使用名字空间对各种类型进行分类方便对所需类型的查找第9页,本讲稿共67页名字空间的声明在VB.NET中声明名字空间需要使用NameSpace关键字名字空间的声明可以嵌套第10页,本讲稿共67页举例合法的名字空间Namespace A Fully qualified name:A Class B Fully qualified name:A.B
5、Class C Fully qualified name:A.B.C End Class End Class Namespace D.E Fully qualified name:A.D.E Class F Fully qualidied name:A.D.E.F End Class End NamespaceEnd Namespace第11页,本讲稿共67页名字空间的导入(Imports)如果使用Imports引入了两个名字空间,但两个名字空间中具有同名的成员,必须使用别名,否则会出现错误第12页,本讲稿共67页Namespace A Class Test End ClassEnd Name
6、spaceNamespace B Class Test End ClassEnd NamespaceImports AImports BModule TestModule Sub Main()Error:Test is imported through A and B Dim x As Test End MoudleImports ATest=A.TestImports BTest=B.TestModule TestModule Sub Main()Error:Test is only imported through an alias Dim x As Test Dim y As ATest
7、 Dim z As BTest End Moudle第13页,本讲稿共67页5.2 类和对象第14页,本讲稿共67页面向对象的基本概念对象:是客观世界中的事物或人们头脑中的各种概念在计算机程序中的抽象表示,或者说,是现实世界中个体的数据抽象模型,是面向对象程序设计的基本元素。每个对象都有三个共同的特点:它们都有自己的名字,以区别其他对象它们都有自己的状态,如球有自己的质地、颜色和大小它们都有自己的行为,如球可以滚动、停止或旋转第15页,本讲稿共67页面向对象的基本概念类就是对具有相同数据和相同操作的一组相似对象的定类就是对具有相同数据和相同操作的一组相似对象的定义,也即是对具有相同属性和行为的
8、一组相似对象的抽义,也即是对具有相同属性和行为的一组相似对象的抽象。类是用来创建对象的模板,它包含所创建对象的状象。类是用来创建对象的模板,它包含所创建对象的状态描述和方法定义,而对象只是类的一个实例态描述和方法定义,而对象只是类的一个实例类的性质类的性质抽象性封装性继承性多态性 第16页,本讲稿共67页如何创建一个类的框架?完整的语法格式Public|Private|Protected|Friend|Protected Friend|Shadows _MustInherit|NotInheritable Class 类名类名Inherits基类名Implements 接口名 Variable
9、s Methods Properties EventsEnd Class 第17页,本讲稿共67页如何创建一个类的框架?Public Class DogEnd ClassDog第18页,本讲稿共67页举例Public Class Customer Public Name As String Public Address As String Public PhoneNumber As StringEnd Class第19页,本讲稿共67页类的定义可以放在什么位置?放在窗体或模块文件中放在项目内的单独文件中放在单独的项目中第20页,本讲稿共67页如何创建一个对象?具体语法Dim|Public|Pr
10、ivate 对象名 As New 类名(参数)Dim 对象名 As 类名=New 类名(参数)Dim x As New CustomerDim x As Customer=New Customer第21页,本讲稿共67页如何使用对象?调用对象的方法对象名.方法名()设置对象的属性对象名.属性名=属性值读取对象的属性变量=对象名.属性名第22页,本讲稿共67页共享与实例化一般情况下类中的所有成员都需要实例化 如果使用Shared关键字进行修饰的成员则是共享的成员共享的成员会被类中的所有实例共享共享的成员可以直接从类中调用,而不用创建类的实例第23页,本讲稿共67页Public Class Cus
11、tomer Public Name As StringEnd ClassModule Test Sub main()Dim x,y As Customer x=New Customer y=New Custormer x.Name=Joh Smith“If y.Name=x.Name Then Console.WriteLine(“Equal”)End If End SubEnd ModuleNothing will be printed第24页,本讲稿共67页Public Class Customer Public Prefix As String Public Name As String
12、 Public Shared PrintPrefix As Boolean=True Sub PrintName()If PrintPrefix Then Console.Write(Prefix)End If Console.WriteLine(Name)End SubEnd ClassModule Test Sub main()Dim x,y As Customer x=New Customer x.Prefix=Mr.x.Name=Joh Smith Customer.PrintPrefix=False x.PrintName()End SubEnd ModuleJohn Smith第2
13、5页,本讲稿共67页构造函数构造函数在创建类的对象时对它进行初始化在创建每个对象时都要进行一次构造函数调用关键字New调用类的构造函数,执行初始化任务Public Sub New(参数列表)第26页,本讲稿共67页Public Class Customer Public Name As String Public Address As String Public Sub New(ByVal Name As String,_ ByVal Address As String)Me.Name=Name Me.Address=Address End SubEnd ClassModule Test Su
14、b main()Dim Bob As Customer Bob=New Customer(Bob,111 Main Street)End SubEnd Module第27页,本讲稿共67页析构函数Finalize析构函数可以用来完成释放对象的一些清理工作通常情况下会被自动调用,可以根据实际需要进行重载Imports System.IOClass FileWriter Private Stream As FileStream Protected Overrides Sub Finalize()Close the Stream Stream.Close()End SubEnd Class第28页,
15、本讲稿共67页类中变量的声明类中的变量声明与其他变量的声明相同类中的变量用Private关键字修饰,表示该变量的信息被隐藏,只能通过这个对象所在的类的方法和属性来访问例,Private A As Integer第29页,本讲稿共67页5.3 属性、方法和事件第30页,本讲稿共67页属性属性用来获取或修改类的Private数据使用Property语句定义属性Get:获取Set:修改或设置Private 变量名 As 数据类型 Public|ReadOnly|WriteOnly Property 属性名()As 数据类型Get Get 属性过程 Return 变量名 End Get Set(ByV
16、al Value As 数据类型)Set 属性过程 变量名=Value End Get End Property第31页,本讲稿共67页下列哪个属性过程是错误的?Public Class First Private mAge As Integer Property Age()As Integer Get Return mAge End Get Set(ByVal value As Integer)mAge=value End Set End PropertyEnd ClassPublic Class First Private mAge As Integer ReadOnly Property
17、 Age()Set(ByVal value)mAge=value End Set End PropertyEnd ClassPublic Class First Private mAge As Integer WriteOnly Property Age()Set(ByVal value)mAge=value End Set End PropertyEnd ClassPublic Class First Private mAge As Integer ReadOnly Property Age()Get Return mAge End GetEnd ClassPublic Class Firs
18、t Private mAge As Integer WriteOnly Property Age()Get Return mAge End GetEnd Class第32页,本讲稿共67页举例Public Class Order Private mCost As Double Public mQuantity As Integer Public Property Cost()As Double Get Return mCost End Get Set(ByVal Value As Double)mCost=Value End Set End PropertyEnd Class第33页,本讲稿共
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 面向对象技术优秀课件 面向 对象 技术 优秀 课件
限制150内