版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广东农工商职业技术学院广东农工商职业技术学院任务任务六六 Visual Basic .NET面向对象语言基础面向对象语言基础VB.NET程序设计程序设计VB.NET程序设计程序设计广东农工商职业技术学院广东农工商职业技术学院2理解面向过程和面向对象的编程概念理解面向过程和面向对象的编程概念 理解面向对象的基本概念:理解面向对象的基本概念:对象对象、类类、字段字段、属性属性、方法方法等等 理解什么是抽象以及如何从现实世界中的实体抽象成类和对理解什么是抽象以及如何从现实世界中的实体抽象成类和对象象 创建和使用类创建和使用类 理解类成员的概念,并能够自定义合适的类成员理解类成员的概念,并能够自定义合
2、适的类成员 继承继承 学习目标学习目标广东农工商职业技术学院广东农工商职业技术学院3问题引入问题引入 在前面创建的系统中在前面创建的系统中,操作数据库的代码是操作数据库的代码是写在每个窗体中使得对数据库操作的代码维护起写在每个窗体中使得对数据库操作的代码维护起来比较麻烦来比较麻烦,代码量也要重复编写。在实际中代码量也要重复编写。在实际中,把把操作数据库的代码写在一个类中操作数据库的代码写在一个类中,其它窗体要操其它窗体要操作数据库就只要调用这个类的方法就可以啦作数据库就只要调用这个类的方法就可以啦. 广东农工商职业技术学院广东农工商职业技术学院4面向过程和面向对象面向过程和面向对象 面向过程面
3、向过程 面向过程和面向对象是两种不同的软件开发方法,也代表面向过程和面向对象是两种不同的软件开发方法,也代表着分析问题的两种不同思路。面向过程就是分析出解决问着分析问题的两种不同思路。面向过程就是分析出解决问题所需要的步骤,程序按照步骤题所需要的步骤,程序按照步骤A到步骤到步骤B来实现,用户按来实现,用户按照一个个的步骤来解决具体问题。照一个个的步骤来解决具体问题。 面向对象面向对象 面向对象是把构成问题的事物分解成各个对象,建立对象面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题
4、的步骤中的行为。整个解决问题的步骤中的行为。 广东农工商职业技术学院广东农工商职业技术学院51 1、对象和类、对象和类 对象是实现世界中各种实体的抽象表示对象是实现世界中各种实体的抽象表示, ,它是数据和代码的集合它是数据和代码的集合, ,有自己有自己的状态和行为。的状态和行为。 类是面向对象的基本概念,是对一组具有相同特征(类是面向对象的基本概念,是对一组具有相同特征(数据元素数据元素 代码中称代码中称之为之为“属性属性” )和相同行为(和相同行为(函数函数 代码中一般称之为代码中一般称之为“方法方法” )的对象的)的对象的抽象描述(用程序代码定义)。抽象描述(用程序代码定义)。 比如:香蕉
5、是一种水果,苹果也是一种水果,葡萄、桔子是水果;猫是一种比如:香蕉是一种水果,苹果也是一种水果,葡萄、桔子是水果;猫是一种动物,狗也是一种动物,牛、羊都是动物。也就是说现实生活中,我们可以动物,狗也是一种动物,牛、羊都是动物。也就是说现实生活中,我们可以用分类的方法去区别不同种类的东西。在这里,用分类的方法去区别不同种类的东西。在这里,香蕉、苹果、葡萄和桔子香蕉、苹果、葡萄和桔子就就是具体的是具体的“对象对象”,如果把这些对象进行抽象的描述,就可以得出结论:这,如果把这些对象进行抽象的描述,就可以得出结论:这些些“对象对象”属于水果属于水果“类类”,因为它们有相同的特征(酸或甜,水份多等)。,
6、因为它们有相同的特征(酸或甜,水份多等)。 理解面向对象的基本概念理解面向对象的基本概念广东农工商职业技术学院广东农工商职业技术学院6对象和类对象和类类类由按钮类由按钮类Button产生的产生的Button1和和Button2对象对象 简单来说,简单来说,类是一种类型(类是一种类型(各种类型的控件各种类型的控件就是一个个的就是一个个的“类类”)。把工具)。把工具箱的控件拖到窗箱的控件拖到窗体上时,即产生体上时,即产生该类控件的一个该类控件的一个对象。对象。广东农工商职业技术学院广东农工商职业技术学院7面向对象程序设计的重要特征面向对象程序设计的重要特征:广东农工商职业技术学院广东农工商职业技术
7、学院81、单击、单击”项目项目”菜单菜单/添加类添加类 2 、在、在”添加新项添加新项”对话框中选择对话框中选择”类类”3 、在、在”名称名称”文本框中输入类名文本框中输入类名4 、单击、单击”添加添加”按钮按钮 在应用程序中添加类(创建类)在应用程序中添加类(创建类)广东农工商职业技术学院广东农工商职业技术学院9声明类声明类(类的格式类的格式) Public Class 类名类名 字段、属性、方法、事件等字段、属性、方法、事件等 End Class类的定义类的定义 广东农工商职业技术学院广东农工商职业技术学院10字段字段(变量变量) 在类块中声明字段的方式如下:在类块中声明字段的方式如下:
8、访问级别访问级别 字段名字段名 As 数据类型数据类型 其中访问级别有其中访问级别有: Public Private Dim注注: :用用PrivatePrivate或或DimDim关键字声明的变量为私有字段关键字声明的变量为私有字段, , 用用PublicPublic关键字声明的变量为公共字段关键字声明的变量为公共字段广东农工商职业技术学院广东农工商职业技术学院11字段、属性定义的语法格式如下:字段、属性定义的语法格式如下:Private 变量名变量名 AS 数据类型数据类型Public | ReadOnly | WriteOnly Property 属性名()属性名() AS 数据类型数据
9、类型 Get Return 变量名变量名 End Get Set (Byval Value AS 数据类型数据类型) 变量名变量名 = Value End SetEnd Property 定义字段和属性定义字段和属性字段和属性常常配合使用,字段一般定义为字段和属性常常配合使用,字段一般定义为Private等级,属性定义为等级,属性定义为Public等级等级对于属性而言,访问修饰符省略的话默认为对于属性而言,访问修饰符省略的话默认为Public广东农工商职业技术学院广东农工商职业技术学院12方法是封装在类内部的完成特定操作的过程或函数。要创建方法,方法是封装在类内部的完成特定操作的过程或函数。要
10、创建方法,实际上就是在类中编写若干个过程实际上就是在类中编写若干个过程(Sub)(Sub)或函数(或函数(Function)Function)。格式如下:格式如下:Public | Friend | Private|ProtectedPublic | Friend | Private|Protected Sub Sub 方法名()方法名()End SubEnd Sub 访问修饰符省略的话默认访问修饰符省略的话默认为为PublicPublicPublic:Public:表示具有公共访问权限,访问没有任何限制表示具有公共访问权限,访问没有任何限制Friend:Friend:友元访问权限,可以从声明
11、上下文内和同一程序中的任何位置访问它们。友元访问权限,可以从声明上下文内和同一程序中的任何位置访问它们。Private:Private:私有访问权限,访问限于类的内部私有访问权限,访问限于类的内部Protected:Protected:保护权限,访问权限限于类的内部或派生类中保护权限,访问权限限于类的内部或派生类中创建方法创建方法广东农工商职业技术学院广东农工商职业技术学院13Public Class myrectangle Dim W As Integer Dim H AS Integer Public Property Width() As Integer Get Return W End
12、 Get Set(Byval Value AS Integer) W = Value End Set End Property在应用程序中创建类在应用程序中创建类例子例子1 创建一个创建一个“myrectangle”类(矩形类)。两个字段类(矩形类)。两个字段W和和H,以,以及对应的两个属性及对应的两个属性Width和和Heigth。一个计算面积的方法。一个计算面积的方法Area()。广东农工商职业技术学院广东农工商职业技术学院14类定义示例类定义示例 例子例子2 定义一个定义一个Lion类,有类,有hungry字段和字段和Eat()方法。方法。 Public Class Lion Priva
13、te hungry As Boolean Public Sub Eat(str As String) MessageBox.Show(str) End SubEnd Class广东农工商职业技术学院广东农工商职业技术学院15构造函数构造函数 在创建对象时总要调用一个特定的方法在创建对象时总要调用一个特定的方法,这个方法叫做构造函数。构造函数主要用,这个方法叫做构造函数。构造函数主要用来为对象分配内存空间,完成初始化操作。来为对象分配内存空间,完成初始化操作。 当当New 一个新的对象时系统就将自动调用一个新的对象时系统就将自动调用相应的构造函数(跟创建对象时类名后面的相应的构造函数(跟创建对象
14、时类名后面的参数有关)。参数有关)。广东农工商职业技术学院广东农工商职业技术学院16构造函数构造函数(续)(续) 类中构造函数的规定:类中构造函数的规定:构造函数是一个构造函数是一个Sub通用过程,过程名为通用过程,过程名为New当某个类没有定义构造函数时,系统将自动为其创当某个类没有定义构造函数时,系统将自动为其创建无参数和无方法体的默认构造函数。建无参数和无方法体的默认构造函数。构造函数的访问修饰符是构造函数的访问修饰符是Public构造函数可以有参数,也可以无参数,可以有多个构造函数可以有参数,也可以无参数,可以有多个参数。在一个类中可以定义多个构造函数参数。在一个类中可以定义多个构造函
15、数广东农工商职业技术学院广东农工商职业技术学院17构造函数构造函数Public Class myrectangle Public Sub New() W = 3 H = 5 End Sub Public Sub New(Byval x as Integer,Byval y as Integer) W = x H = y End Sub End Class 在在“myrectangle”类的基础上,添加了二个类的基础上,添加了二个构造函数,一个构造函数,一个无参数无参数,一个,一个有两个参数。有两个参数。广东农工商职业技术学院广东农工商职业技术学院18构造函数构造函数例子例子2在在Lion类中定
16、义两个构造函数,一个函数无参数,类中定义两个构造函数,一个函数无参数, 另一个函数有一个另一个函数有一个String类型参数类型参数Public Class Lion Private hungry As Boolean Public Sub New() MessageBox.Show(“无参数”) End Sub Public Sub New(ByVal str As String) MessageBox.Show(“一个参数”) End Sub Public Sub Eat(ByVal str As String) MessageBox.Show(str) End SubEnd Class广
17、东农工商职业技术学院广东农工商职业技术学院19析构函数析构函数1、当对象离开作用范围或被赋值为、当对象离开作用范围或被赋值为Nothing时,时,该对象的生命期结束。该对象的生命期结束。 VB.NET使用一个名为使用一个名为Finalize的的Sub过程来过程来释放系统资源,这个过程称为释放系统资源,这个过程称为析构函数析构函数。2、Finalize析构器是一个受保护的过程,析构器是一个受保护的过程,它被系它被系统自动调用统自动调用,而且不能显式地被调用。,而且不能显式地被调用。广东农工商职业技术学院广东农工商职业技术学院20对象的创建对象的创建 对象的创建和使用对象的创建和使用 类定义后,就
18、可以创建类的实例类定义后,就可以创建类的实例(对象对象),创建类的实例需使用创建类的实例需使用New关键字。类的实例关键字。类的实例就是对象。就是对象。广东农工商职业技术学院广东农工商职业技术学院21对象的创建和使用对象的创建和使用 创建对象语句的一般格式如下:创建对象语句的一般格式如下: 访问级别访问级别 As 类名类名 = New 类名类名(参数参数) 访问级别访问级别 As New 类名类名(参数参数)访问级别可以是访问级别可以是Dim 、Private、Static、Shared等等New关键字是调用构造函数类完成对象的初始化工作。关键字是调用构造函数类完成对象的初始化工作。将依据参数
19、类调用相应的构造函数。将依据参数类调用相应的构造函数。广东农工商职业技术学院广东农工商职业技术学院22对象的使用对象的使用 创建对象之后,就可以在程序中使用这个创建对象之后,就可以在程序中使用这个对象:对象: 对象调用类中的字段:对象调用类中的字段: 对象名对象名.字段名字段名 = 值值 变量变量 = 对象名对象名.字段名字段名调用对象方法:调用对象方法: 对象名对象名.方法名方法名(参数参数)对象的创建和使用对象的创建和使用 广东农工商职业技术学院广东农工商职业技术学院23在应用程序中使用类在应用程序中使用类广东农工商职业技术学院广东农工商职业技术学院24在应用程序中使用类在应用程序中使用类
20、Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim rec As New myrectangle New表示实例化表示实例化rectangle,就是从就是从rectangle类实例化一个对象类实例化一个对象rec rec.Height = CInt(TextBox1.Text) rec.Width = CInt(TextBox2.Text) TextBox3.Text = rec.AreaEnd Sub思考:调用哪个构造函数
21、?思考:调用哪个构造函数?广东农工商职业技术学院广东农工商职业技术学院25类的继承类的继承从一个已知的类创建新类的语句格式为从一个已知的类创建新类的语句格式为:Public Class 新类名新类名 Inherits ClassNameEnd Class其中其中,ClassName 是是基类基类的名称。的名称。注意:注意:Inherits 语句必须是类定义语句中的第一条语句必须是类定义语句中的第一条语句。语句。广东农工商职业技术学院广东农工商职业技术学院26类的继承类的继承举例举例Public Class Baseclass Public x AS Integer Public y As St
22、ringEnd ClassPublic Class Childclass Inherits Baseclass Public Function Getstring() As String Return y End FunctionEnd Class广东农工商职业技术学院广东农工商职业技术学院27类的继承类的继承继承的范围继承的范围当通过继承来创建一个子类时:当通过继承来创建一个子类时:1、子类可以从基类中继承所有的用、子类可以从基类中继承所有的用Public和和Friend关键字关键字声明的变量、属性和方法。声明的变量、属性和方法。2、子类不能继承在基类中用、子类不能继承在基类中用Privat
23、e 关键字声明的变量、关键字声明的变量、属性和方法,这些变量、属性和方法只能在该基类中使用。属性和方法,这些变量、属性和方法只能在该基类中使用。3、在基类中使用、在基类中使用Protected关键字声明的变量和方法,可关键字声明的变量和方法,可以被它的子类继承以被它的子类继承即可以在子类中直接调用或使用即可以在子类中直接调用或使用,但,但对于任何类外部的代码将不能调用。对于任何类外部的代码将不能调用。4、继承具有传递性。若类继承具有传递性。若类A有子类有子类B,类,类B有子类有子类C,则类,则类C不仅继承类类不仅继承类类B,有继承了类,有继承了类A的成员。的成员。广东农工商职业技术学院广东农工
24、商职业技术学院28一道题目一道题目广东农工商职业技术学院广东农工商职业技术学院29小结小结 本章主要介绍了面向对象的基本概念,面向本章主要介绍了面向对象的基本概念,面向对象以抽象和封装的方式将事物划分成类,用对象对象以抽象和封装的方式将事物划分成类,用对象实例化的操作来解决问题。类包括字段、属性、方实例化的操作来解决问题。类包括字段、属性、方法和事件,过程从属于类就成了方法。法和事件,过程从属于类就成了方法。 面向对象的继承原则允许创建一个基类面向对象的继承原则允许创建一个基类,然后从这个基类派生出更多的派生类,其中派生,然后从这个基类派生出更多的派生类,其中派生类能够继承基类的属性和方法。类
25、能够继承基类的属性和方法。广东农工商职业技术学院广东农工商职业技术学院301.填空题填空题1)声明为声明为 Private 的一个类成员,只有定义这些成的一个类成员,只有定义这些成员的类的方法能够访问。员的类的方法能够访问。2)关键字关键字 Class 表示一个类的定义。表示一个类的定义。习题习题广东农工商职业技术学院广东农工商职业技术学院312.判断正误并说明原因判断正误并说明原因1)构造函数可以返回值。构造函数可以返回值。习题(续)习题(续)广东农工商职业技术学院广东农工商职业技术学院323.编程题编程题1)使用构造函数的方法来创建使用构造函数的方法来创建Data类,使该类的类,使该类的对
26、象既可以接受一个对象既可以接受一个String类型的数据初始化,类型的数据初始化,也可以接受一个也可以接受一个Integer类型的数据初始化。初类型的数据初始化。初始化时将输入的内容打印出来。始化时将输入的内容打印出来。习题(续)习题(续)广东农工商职业技术学院广东农工商职业技术学院33 在项目中创建一个在项目中创建一个DataBase类,定义类,定义OleDbConnection、OleDbTransaction、OleDbCommand对象对象。定义打开连接、关闭连接连接定义打开连接、关闭连接连接、返回数据库记录、操作数据库的方法。、返回数据库记录、操作数据库的方法。 在各个在各个Form
27、中操作数据库的代码都修改为通过中操作数据库的代码都修改为通过DataBase类的方法来操作数据库类的方法来操作数据库完成数据库操作任务完成数据库操作任务(实训实训)广东农工商职业技术学院广东农工商职业技术学院34课堂实训课堂实训1(知识点:创建类,字段,属性,方法等)(知识点:创建类,字段,属性,方法等) 新建一个项目,然后选择新建一个项目,然后选择项目项目|添加类添加类命令,出现命令,出现添加新项添加新项。在对话框中的名称中输入在对话框中的名称中输入“类类”的名称。的名称。 定义一个新类定义一个新类Person,定义私有,定义私有(Private)的的name, age字段;定义一字段;定义
28、一个个无参数的构造函数无参数的构造函数,再定义一个,再定义一个有两个参数的构造函数有两个参数的构造函数,这两个,这两个构造函数都用来初始化构造函数都用来初始化name、age;最后定义两个方法;最后定义两个方法GetAge和和GetName,分别用来得到,分别用来得到age、name值值广东农工商职业技术学院广东农工商职业技术学院35课堂实训课堂实训2 (知识点:创建类的继承)(知识点:创建类的继承) 在前面的基础上,添加一个新类在前面的基础上,添加一个新类Student,继承,继承Person类;在类;在Student类中添加字段类中添加字段score和相应的构和相应的构造函数,以及方法造函
29、数,以及方法GetScore()来获得来获得score字段值。再字段值。再在窗体上添加一个在窗体上添加一个Button按钮,当单击这个按钮,当单击这个Button时时,调用,调用 GetAge、GetName和和getSocer方法,在方法,在Text Box控件中显示出得到的控件中显示出得到的age、name和和score值。值。广东农工商职业技术学院广东农工商职业技术学院36以下内容为选学内容以下内容为选学内容广东农工商职业技术学院广东农工商职业技术学院37重载与重写重载与重写-重载重载多态性多态性在面向对象程序设计中是非常重要的特性,在在面向对象程序设计中是非常重要的特性,在VB.NET
30、中可以利用中可以利用重载与重写重载与重写来实现多态性。来实现多态性。1、重载、重载(Overloading) 重载是重载是在一个类在一个类中中使用相同的名称,但有不同的参数类型,创建一使用相同的名称,但有不同的参数类型,创建一个以上的方法或属性。个以上的方法或属性。 重载意味着可以在一个类中,多次声明相同名字的方法或属性,只重载意味着可以在一个类中,多次声明相同名字的方法或属性,只是每一次的声明,是每一次的声明,都有不同的参数列表都有不同的参数列表。 在在VB.NET中利用中利用“Overloads”关键字关键字,将类中的方法或属性声明,将类中的方法或属性声明为重载的类型。为重载的类型。广东农
31、工商职业技术学院广东农工商职业技术学院38重载与重写重载与重写重载举例:创建一个在数据库中查找具有相同姓名、相同年龄或相重载举例:创建一个在数据库中查找具有相同姓名、相同年龄或相同工资的人员的类。查找到的满足条件的记录,存放在同工资的人员的类。查找到的满足条件的记录,存放在ArrayList结构数结构数组中。组中。Public Class Search Public Overloads Function Getperson(ByVal Name As String ) As ArrayList End Function Public Overloads Function Getperson(B
32、yVal Age As Integer ) As ArrayList End Function Public Overloads Function Getperson(ByVal Salary As Single ) As ArrayList End FunctionEnd Class广东农工商职业技术学院广东农工商职业技术学院39重载与重写重载与重写- 重写重写多态性多态性在面向对象程序设计中是非常重要的特性,在在面向对象程序设计中是非常重要的特性,在VB.NET中可以利用重载与重写来实现多态性。中可以利用重载与重写来实现多态性。2、重写、重写(Overriding) 重写就是在不影响基类的
33、情况下,子类对从基类继承的属性和方法,重写就是在不影响基类的情况下,子类对从基类继承的属性和方法,可以进行修改和扩充。可以进行修改和扩充。 在子类中重写基类的属性和方法时,就会产生多态性。通过重写,在子类中重写基类的属性和方法时,就会产生多态性。通过重写,子类可以重复使用基类中相同的方法或属性名称,但各方法或属性中,所子类可以重复使用基类中相同的方法或属性名称,但各方法或属性中,所包含的代码却完全不同。包含的代码却完全不同。广东农工商职业技术学院广东农工商职业技术学院40重载与重写重载与重写-重写重写当通过继承创建一个新类,并要重写方法或属性时,应按当通过继承创建一个新类,并要重写方法或属性时,应按如下步骤操作:如下步骤操作: 在在基类中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 32575-2026发电工程数据移交
- 护理工作中的护理评价课件
- 护理技术与患者沟通技巧
- 2025年家庭健康管理师 床垫周期数据的个性化指导服务
- 护理评估中的重症监护
- 压缩机装配调试工诚信道德考核试卷含答案
- 油气管道保护工达标知识考核试卷含答案
- 办公设备与耗材再制造工岗前风险评估与管理考核试卷含答案
- 2026年新科教版高中高一历史上册第一单元先秦政治制度特征卷含答案
- 摊商岗前安全专项考核试卷含答案
- 2026年贵州省辅警考试试卷及答案
- 护理技术铺床
- 爆破施工进度安排
- DB51-T 2440.1-2025 监狱管理规范 刑罚执行工作标准
- 纳米药物课件
- 2025年广东省常用非金属材料检测技术培训考核考前冲刺备考速记速练500题-含答案
- 第三单元课外古诗词诵读月夜忆舍弟 课件 2025-2026学年九年级语文上册同步备课课件
- 汽车检测维修毕业论文
- 彩钢瓦屋面施工安全技术规范方案
- TZDTX 0012-2025 铁路分布式光伏发电工程技术规范
- 2026年初级会计职称(初级会计实务)考试题及解析
评论
0/150
提交评论