第7章 类与对象
发布时间:2021-06-05
发布时间:2021-06-05
C#案例教程全套PPT
Visual C# 案例教程
第7章 类与对象
C#案例教程全套PPT
【本章导读】
本章通过对类和对象的学习,让读者掌握 面向对象分析与面向对象程序设计的概念, 掌握类和对象之间的关系,学习类、类成员、 构造函数、方法重载、对象创建等基本知识, 使得具备自定义类的基本技能。
C#案例教程全套PPT
7.1 面向对象分析与面向对象设计在第二篇学习的 Windows 窗体、用户界面控件、 常用组件,都可以把他们看成一个一个的对象。 在我们使用Windows 窗体中的Button控件时, 我们通过属性面板中的Text属性就可以修改显示在 上面的文本,那么为什么可以达到这种功能呢? 在计算机里面已经形成了Button类,在这个类 里面封装好了一个名为Text的属性,只要我们修改 了这个属性的值,计算机就会在按钮的面上显示出 我们设定的值,实际上Button类中还封装了很多在 我们编制程序的时候需要的功能。
C#案例教程全套PPT
7.1 面向对象分析与面向对象设计我们编制的 C# 应用程序中的类通常由我们 程序员定义的类和 .NET Framework 类组成, 而象Windows 窗体中的Button控件就是.NET Framework提供的类。在本部分,我们将学 习C#中自定义类和对象的相关知识。
C#案例教程全套PPT
7.2 案例:交通工具问题: 解决交通工具中客车的一些相关问题 。研究乘客数量、车轮数 量、车牌号和车重等相 关特性 具有显示自我特性的方 法
具有超速时警示驾驶员 的功能呢个
C#案例教程全套PPT
7.2 案例:交通工具-要解决的问题
能显示该车能乘坐的乘客的数量、车轮数量、 车牌号和车本身的重量,要求每次速度调整 时能显示是否在安全行驶速度的范围内。本章我们将通过逐步讲解来完成本客车模型 及其对象的创建。
C#案例教程全套PPT
7.3.1 类的定义在类声明中需要使用关键字class,其简单的 定义格式为: class 类名{请思考: 类是什么? 为什么要创建类? 怎么创建类?
类体}
C#案例教程全套PPT
7.3.1 类的定义
请注意: 类体是以一对大括号开始和结束的,在一对大括
号后面可以跟一个分号,也可以省略分号 类体中的成员种类较多,常见的有字段、属性、
方法和事件方法(Method) 类的所有成员的声明均需在类体中
C#案例教程全套PPT
7.3.1 类的定义-【实作任务】
定义的客车类
class Passtrain //类名为Passtrain (客车){
//成员字段//成员属性
//成员方法//成员事件 }
定义了一个名为 Passtrain的类,此时 类体中未定义任何内 容。但对于我们要定 义的客车类的类体应 该是不为空的,在下 面我们将通过学习对 客车类的字段、属性、 方法和事件逐步完善。
C#案例教程全套PPT
7.3.2 字段字段是类成员中最基础也较重要的一个成 员,是与对象或类相关联的变量。其作用主 要是用于保存与类有关的一些数据。它的声 明格式与普
通变量的声明格式基本相同,声 明位置没有特殊要求,习惯上将字段说明放 在类体中的最前面。 定义字段的基本格式为: 访问修饰符 数据类型 字段名
C#案例教程全套PPT
7.3.2 字段
先给出客车类的字段定义
class Passtrain //类名为Passtrain (客车)
{//以下为成员字段---------------------------------------int weight; public int wheels; } //此车的重量, //公有成员,该客车的轮子数 private int passengers; //私有成员,标准容纳乘客数
public string plate; //公有成员,车牌号
C#案例教程全套PPT
字段解析
客车类模型Passtrain中定义了四个成员, 分别用于保存客车的重量、可容纳的乘客数、 轮子数和车牌号。在面向对象程序设计中,类里面的成员在 定义时一般都要加上访问控制修饰符,以标 志该成员在哪些范围能够被访问得到。 若声明成员时没有使用任何修饰符,则该成 员被人为是私有的(private) 。
C#案例教程全套PPT
声明类中的成员时,使用不同的访问修饰符, 表示对类的访问权限不同,C#中常见的访问 修饰符除及其意义 :public访问不受限制,可以被任何其它类访问private访问只限于含该成员的类,及只有该类的其 它成员能访问 protected访问只限于含该成员的类、及该类的派生 类
C#案例教程全套PPT
注意: 若字段定义前面的访问修饰符没有写出,则计算 机会默认认为是私有字段private. 对于公有访问(public)字段,我们可以通过“对 象名.字段名”的形式访问,对于私有(private) 和保护(protected)是不行的,如对于Passtrain 的 对象pss我们可以通过语句pss.wheels = 4;为wheels 字段赋值,而字段passengers是不行的。 我们经常会看到在类前面有一个partial修饰符, 该修饰符的作用允许将一个类分布到多个文件之 中,在编译时会将各个部分再组合在一起。
C#案例教程全套PPT
7.3.3 属性类字段一般定义为私有或受保 护的,不容许外界访问。若需要外 界访问此字段,我们可以利用本小 节的属性知识,提供给外界访问私 有或保护字段的途径。在前面第二 篇中的5.2.2小节中我们通过设计器 的属性面板如图7.2中的Text的更 改从而可以修改窗体标题栏上的文 本。采用的就是这种方法,这也是 类模型设计的常见方法。
图7-2 属性面板
C#案例教程全套PPT
7.3.3 属性
C#在类中声明属性的语法格式:访问修饰符 类型 属性 名 {
get{ return 字段名;}set{字段名= value;}
}
C#案例教程全套PPT
7.3.3 属性
注意实际上属性是一个或两个代码块,表示一个 get 访问器或一个 set 访问器。当读取属性时, 执行 get 访问器的代码块;当赋予属性一个新值 时,执行 set 访问器的代码块。不具有 set 访问 器的属性被视为只读属性。不具有 get 访问器的 属性被视为只写属性。同时具有这两个访问器
的 属性是读写属性。
C#案例教程全套PPT
7.3.3 属性 【实作任务】{//以下为成员字段---------------------------------------int weight; public int wheels; //此车的重量, //公有成员,该客车的轮子数 private int passengers; //私有成员,标准容纳乘客数
客车类的属性声明
class Passtrain //类名为Passtrain (客车)
public string plate; //公有成员,车牌号//以下为成员属性---------------------------------------//以下声明公有访问属性以访问私有的weight成员
C#案例教程全套PPT
7.3.3 属性【实作任务】 客车类的属性声明-续public int Weight { get { return weight; } //提供对weight的读权限 set { weight = value; } //提供对weight的写权限 } //以下声明公有访问属性以访问私有的passengers成员 public int Passengers { get { return passengers; } //提供对passengers的读权限 } }
C#案例教程全套PPT
7.3.4 方法
在前面,我们学习了类成员中的字段和属性,通过 它们我们可以完成数据的存放和读取,但若要完成 其它的一些如显示、计算等功能时,我们还要利用 到类中的第三个常见成员-方法。
方法(method)是一种用于实现可以由对象或类执 行的计算或操作的成员函数。 在类中定义声明方法的基本语法格式为:访问修饰符 返回类型 方法名 ( [ 参数列表] ) { 方法体 }
C#案例教程全套PPT
7.3.5 构造函数与析构函数
1.构造函数
构造函数是一种特殊的方法成员,其主要作用 是在创建对象时初始化对象,每个类都有构造函数, 即使我们没有声明,编译器也会自动地为我们提供 一个默认的构造函数,如果声明了构造函数,系统 将不再提供默认构造函数。 如果调用的是默认构造函数,在创建对象时, 系统将不同类型的数据成员初始化为相应的默认值。 例如,数值类型被初始化为0,字符串类型被初始化 为null,逻辑类型被初始化为false.
上一篇:6与角平分线有关的辅助线
下一篇:员工-表现&贡献评估表