VisualBasicNET应用教程电子讲稿第九章

上传人:xiao****1972 文档编号:244743940 上传时间:2024-10-05 格式:PPT 页数:24 大小:299.49KB
返回 下载 相关 举报
VisualBasicNET应用教程电子讲稿第九章_第1页
第1页 / 共24页
VisualBasicNET应用教程电子讲稿第九章_第2页
第2页 / 共24页
VisualBasicNET应用教程电子讲稿第九章_第3页
第3页 / 共24页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第9章 面向对象的程序设计,本章要点:,面向对象的基本概念,类的定义与对象的声明,构造器和析构器,类的共享成员和非共享成员,方法重载及其编程实现,类的继承与多态性的编程实现,类的属性的实现,9.1 循序渐进学理论,9.1.1 面向对象程序设计概述,1面向对象程序设计的由来,2面向对象程序设计的基本概念,(1)类和对象,(2)属性、方法与事件,(3)封装,(4)继承,(5)重载,(6)多态性,9.1.2 命名空间,1命名空间的概念,命名空间(NameSpace)是组织类的一种机制,在NET框架中,有一个巨大的类库,该类库提供了在应用程序设计中所需的大部分功能。,2命名空间的使用,(1)直接定位命名空间,(2)使用Imports关键字引用命名空间,3命名空间的定义,9.1.3 类和对象的创建,1类的创建,【例9-1】定义一个Student类,用来对学生的信息和功能进行描述。假设学生具有学号、姓名、年龄、性别、平均成绩等特征,并且具有设置学生特征和显示学生特征的功能。,2对象的创建,格式:Declare 对象变量名 As New 类名(参数),3对象的使用,9.1.4 类成员的种类及其可访问性,1类成员的分类,常量,域,方法,属性,事件,构造器,析构器,2类成员的可访问性,公有成员(Public),私有成员(Private),保护成员(Protected),朋友成员(Friend),保护友员(Protected Friend),3类的共享成员和非共享成员,9.1.5 类的构造器和析构器,1构造器,构造器(又称构造函数)主要用来为对象分配存储空间,完成初始化操作(如给类的成员变量赋值等)。,2析构器,析构器(又称析构函数)是在对象销毁时(对象离开作用范围或被赋值为Nothing时)被调用,常用来释放对象占用的存储空间。,9.1.6 方法及方法的重载,【例9-4】方法重载的演示。新建一个项目,为项目添加一个类模,块,类模块中的程序代码下,:,Public Class OverTest,Public Overloads Function area(ByVal r As Double)As Double 求圆的面积,一个参数,Return(Math.PI*r*r),End Function,Public Overloads Function area(ByVal a As Double,ByVal b As Double)As Double 求矩形面积,有两个参数,Return(a*b),End Function,Public Overloads Function area(ByVal a As Double,ByVal b As Double,ByVal c As Double)As Double 求三角形面积,有三个参数,Dim l,s As Double,l=(a+b+c)/2,s=Math.Sqrt(l*(l-a)*(l-b)*(l-c),Return(s),End Function,End Class,然后设计一个验证窗体,窗体的设计界面如图9-6所示。在Button1的Click事件过程中输入如下代码:,Private Sub Button1_Click((省略参数))Handles Button1.Click,Dim shape As New OverTest()定义类的实例,Label1.Text=R is 3.0,Area is +CStr(shape.area(3.0)求圆的面积,求矩形的面积,Label2.Text=A is 3.0,B is 4.0,Area is +CStr(shape.area(3.0,4.0),求三角形的面积,Label3.Text=A is 3.0,B is 4.0,C is 5.0,Area is +CStr(shape.area(3.0,4.0,5.0),End Sub,图9-6 程序设计界面,图9-7 程序运行界面,9.1.7 属性及其定义,格式:Dim 变量名 As 数据类型 定义存放属性值的变量,Public|ReadOnly|WriteOnly Property 属性名()As 数据类型,GetGet属性过程,Return 变量名,End Get,Set(Byval Value As 数据类型)Set属性过程,变量名=Value,End Set,End Property,9.1.8 事件的声明及其激发,(1)在类中使用Event语句声明一个事件。,格式:Public Event 事件名(参数列表),(2)在类的某个方法中,使用RaiseEvent语句激发事件。,格式:RaiseEvent 事件名(实参列表),【例9-6】事件的演示。编写一个求矩形面积的应用程序,程序的设计界面如图9-10所示,程序运行时改变了矩形的宽和高,将立即显示出矩形的面积,如图9-11所示。要求:把矩形定义成一个类,宽和高定义成矩形的属性。,图9-10 程序设计界面,图9-11 程序运行界面,9.1.9 类的继承,1继承的实现,格式:Class 派生类名,Inherits 基类名,派生类的成员定义,End Class,2窗体的继承与应用,9.1.10 多态性,多态性是指同一操作作用于不同类的实例,这些类,对它进行不同的解释,从而产生不同的执行结果的,现象。,编译时的多态性是通过方法的重载实现的,由于这,些同名的重载方法或者参数类型不同或者参数个数,不同,所以编译系统在编译期间就可以确定用户所,调用的方法是哪一个重载方法。,运行时的多态性是通过继承和重写来实现的。,9.2 典型实例练能力,9.2.1 典型实例一:Time类的创建与演示,【实例题目】,编写一个名为Time1的类,该类能够存放时间信息,并且具有设置时间和显示时间的功能。然后编程对该类进行测试。测试界面如图9-23所示。,图9-23 时钟类测试界面,9.3 上机练习重应用,9.3.1 上机练习一:栈模型的实现,【练习题目】,栈是一种重要的数据结构,在内存中占用连续的存储单元。栈有两个端点,固定的栈底和浮动的栈顶。为指示栈顶位置还应设一个指示成员变量(称为栈顶指示器)。栈有两种基本操作:push(压栈)和pop(出栈),压栈是向栈顶位置写入一个元素,然后使栈顶指示器加1,出栈是先使栈顶指示器减1,再把该位置的元素读出来。栈及其操作模型如图9-24所示,sp代表栈顶指示器。请编程实现栈的模型并对之进行测试,测试的界面如图9-25所示。,图9-25 栈演示运行界面,9.3.2 上机练习二:从shape类派生出Rectangle、Circle等具体形状类,【练习题目】,定义一个shape抽象类,利用它作为基类派生出Rectangle、Circle等具体形状类,已知具体形状类均具有两个方法GetArea和GetPerim,分别用来求形状的面积和周长。最后编写一个测试程序对产生的类的功能进行验证,验证程序的运行界面如图9-26所示。,图9-26 形状类及其派生类验证运行界面,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!