第5章 面向对象技术优秀PPT.ppt
《第5章 面向对象技术优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第5章 面向对象技术优秀PPT.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,
2、ByVal y As Integer)_ 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
3、页,共67页什么时候需要明确指出模块名称?当两个模块中定义了同名的成员,在使用时必须明确指出该成员来自哪个模块现在学习的是第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
4、 y As Long)As Long Return 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 Cla
5、ss B Fully qualified name:A.B 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页Name
6、space A Class Test End ClassEnd NamespaceNamespace 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 a
7、n alias Dim x As Test Dim y As ATest 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|NotInherita
9、ble Class 类名类名Inherits基类名Implements 接口名 Variables 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页类的定义可以放在什么位置?放在窗体或模块文件中
10、放在项目内的单独文件中放在单独的项目中现在学习的是第20页,共67页如何创建一个对象?具体语法Dim|Public|Private 对象名 As New 类名(参数)Dim 对象名 As 类名=New 类名(参数)Dim x As New CustomerDim x As Customer=New Customer现在学习的是第21页,共67页如何使用对象?调用对象的方法对象名.方法名()设置对象的属性对象名.属性名=属性值读取对象的属性变量=对象名.属性名现在学习的是第22页,共67页共享与实例化一般情况下类中的所有成员都需要实例化 如果使用Shared关键字进行修饰的成员则是共享的成员共享
11、的成员会被类中的所有实例共享共享的成员可以直接从类中调用,而不用创建类的实例现在学习的是第23页,共67页Public Class Customer 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页
12、,共67页Public Class Customer Public Prefix As String Public Name As String 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 Smi
13、th Customer.PrintPrefix=False x.PrintName()End SubEnd ModuleJohn Smith现在学习的是第25页,共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 Ad
14、dress As String)Me.Name=Name Me.Address=Address End SubEnd ClassModule Test Sub 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 Prote
15、cted Overrides Sub Finalize()Close the Stream Stream.Close()End SubEnd Class现在学习的是第28页,共67页类中变量的声明类中的变量声明与其他变量的声明相同类中的变量用Private关键字修饰,表示该变量的信息被隐藏,只能通过这个对象所在的类的方法和属性来访问例,Private A As Integer现在学习的是第29页,共67页5.3 属性、方法和事件现在学习的是第30页,共67页属性属性用来获取或修改类的Private数据使用Property语句定义属性Get:获取Set:修改或设置Private 变量名 As 数
16、据类型 Public|ReadOnly|WriteOnly Property 属性名()As 数据类型Get Get 属性过程 Return 变量名 End Get Set(ByVal 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=va
17、lue End Set End PropertyEnd ClassPublic Class First Private mAge As Integer ReadOnly Property 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 Pri
18、vate mAge As Integer ReadOnly Property Age()Get Return mAge End GetEnd ClassPublic Class First 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 R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 面向对象技术优秀PPT 面向 对象 技术 优秀 PPT
限制150内