项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂

2025-04-01
| 31页
| 191人阅读
| 5人下载
精品

内容正文:

7.2 类(二) 算法与程序设计--C# 同步精品课堂 河北科学技术出版社 教学目标 一 理解类的对象的概念,掌握如何创建和使用类的对象 掌握 this 关键字的作用和使用场景 掌握类的属性的定义和使用 教学目标 01 02 03 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 教学重难点 二 教学难点 1、类的对象的创建和使用 2、类的属性的定义和使用 3、this 关键字的作用和使用场景 教学重点 1、 this 关键字在不同场景下的使用 2、对象的生命周期 教学难点 导入新课 三 讨论: 上节课,我们学习了类的概念。以“汽车”为例,汽车的设计图纸是类,具体的某辆汽车是对象。汽车的属性(颜色、品牌、速度)和行为(加速、刹车)可以通过类和对象来描述。那么类和对象之间是什么关系呢? 任务一 1 对象 新知讲授 四 对象的概念 类是抽象的模板,用于描述对象的特征(属性)和行为(方法)。对象是类的实例,具有类定义的属性和方法。 对象可以认为是在一类事物中抽象出某一个特例,通过这个特例来处理这类事物的问题。在写好一个类这后,我们需要创建这个类的对象。那么,创建这个类的对象的过程称之为类的实例化。使用关键字new 来完成的,这个操作符分配内存并调用类的构造函数来初始化对象。 新知讲授 四 ➽ 说明: (1)ClassName是类的名称; (2)objectName是创建ClassName类对象的名称; (3)new是创建对象操作的符; (4)构造函数会在对象创建时自动调用,用于执行对象的初始化; ➽ 语法 ClassName objectName = new ClassName(); 新知讲授 四 访问对象的成员 用户使用new操作符创建一个对象后,便可以使用“对象.类成员”来访问对象的成员,对象的成员包括字段、属性和方法。 (1)访问字段:使用对象名称,后跟字段名称,可以读取或设置字段的值。 (2)访问属性:使用对象名称,后跟属性名称,可以读取或设置属性的值。 (3)调用方法:使用对象名称,后跟方法名称,并可以传递所需的参数。 新知讲授 四 访问对象的成员 在实例化对象时,程序会自动为类中的字段进行初始化默认值,针对不同类型的字段,会赋予不同的初始值。 字段类型 初始值 字段类型 初始值 byte 0 double 0.0D short 0 char ‘\0’ int 0 boolean false long 0L 引用数据类型 null Demical 0.0M 新知讲授 四 ➽示例: public class Person { public string Name { get; set; } public int Age { get; set; } public void SayHello() { Console.WriteLine("Hello, my name is " + Name); } } 创建对象: Person person = new Person { Name = "John", Age = 30 }; person.SayHello(); 新知讲授 四 对象的生命周期 C#对象的生命周期实际上包括五个主要阶段,分别是:创建、使用、不可访问、垃圾回收、销毁。这五个阶段涵盖了对象从创建到销毁的整个生命周期。在实际编程中,我们通常关注创建、使用和销毁这三个阶段,但不可访问和垃圾回收阶段也是对象生命周期的重要组成部分。 (1)创建:对象的创建是通过调用构造函数来完成的。内存被分配,对象的状态被初始化。 (2)使用:对象在其生命周期内用于执行各种操作和任务。对象的字段和属性可能会被多次读取和修改。 (3)对象在不再被需要时会被垃圾回收。垃圾回收器负责释放对象占用的内存。 任务二 2 属性 新知讲授 四 属性的概念 属性用于封装类的字段,提供对字段的访问控制。属性是类成员,用于访问和控制类的字段(数据成员)。属性提供了对字段的封装,使你可以通过属性来读取和修改字段的值,而不直接暴露字段。对于属性的理解其实并不难,相信大家都玩过游戏,其实在游戏中就能找到属性,比如英雄人物属性,常见的有攻击、生命值、法术伤害、防御等;而物品属性是用来加强英雄人物属性的,如加强法术攻击值、加强抗性等。 属性通常包括两个访问器:get 访问器用于获取属性值,set 访问器用于设置属性值。属性的主要作用是提供更严格的访问控制和数据验证。 新知讲授 四 属性的概念 属性是字段的包装器:属性允许你通过类的接口来访问和操作字段,而不需要直接暴露字段。 属性提供读取和写入的控制:你可以定义只读属性(仅有 get 访问器)或读写属性(有 get 和 set 访问器)。 属性可以包含逻辑:属性的 get 和 set 访问器可以包含逻辑,例如输入验证或计算。 新知讲授 四 属性的声明 ➽语法 访问修饰符 数据类型 属性名 { get { return 变量名;} set { 变量名=value;} } ➽示例 class Person { private string name; public string Name { get { return name; } set { name = value; } } } 新知讲授 四 访问器(get和set) 属性的访问器使你可以控制属性的行为,以满足特定需求。get和set都存在:读写属性;只有get时:只读属性;只有set时:只写属性。 get访问器:用于获取属性的值。访问器允许你自定义属性的读取和写入逻辑。 ➽示例 public int MyProperty { get { return someField + anotherField; } } 新知讲授 四 访问器(get和set) set 访问器:用于设置属性的值。可以在set访问器中执行逻辑,例如输入验证或将值分配给多个字段。 ➽示例 public int MyProperty { set { if (value >=0) { someField = value; }} } 新知讲授 四 ➽ 示例 class Person { private string name; // 私有字段 // 属性 public string Name { get { return name; } set { name = value; } } } class Program { static void Main() { Person person = new Person(); person.Name = "张三"; // 设置属性值 Console.WriteLine("姓名:”+person.Name); // 获取属性值 } } 任务三 3 this关键字 模式窗体就是当该窗体显示时,其他窗体不可用,只有将模式窗体关闭之后,其他窗体才能恢复可用状态。 模式窗体使用ShowDialog()方法显示窗体, 新知讲授 四 this 关键字是一个引用变量,它指向当前对象的实例。在类的方法中,可以使用 this 关键字来引用当前对象的属性、方法或构造函数。 1、使用this关键字访问属性:C#语言中可以使用this关键字用于在类的方法内引用本类对象的成员。它是一个特殊的引用,可以用于消除成员名称的歧义。通过使用this关键字,我们可以访问当前对象的属性。 2、使用this关键字调用成员方法:this关键字可以用于在类的方法内调用其他成员方法,这对于避免方法名称冲突和调用不同重载版本的方很有帮助。 3、使用this关键字调用构造方法:this关键字可以用于在一个构造方法中调用同一类的其他构造方法,这称为构造函数重载。这对于避免在不同构造方法中重复初始化代码很有用。 this关键字的概念 模式窗体就是当该窗体显示时,其他窗体不可用,只有将模式窗体关闭之后,其他窗体才能恢复可用状态。 模式窗体使用ShowDialog()方法显示窗体, 新知讲授 四 ➽ 使用this关键字访问属性代码示例 class Student { private string name; public Student(string name) { this.name = name; // 使用this区分字段和参数 } } 模式窗体就是当该窗体显示时,其他窗体不可用,只有将模式窗体关闭之后,其他窗体才能恢复可用状态。 模式窗体使用ShowDialog()方法显示窗体, 新知讲授 四 ➽ 使用this关键字调用成员方法代码 public class MyClass { public void MethodA() { Console.WriteLine("MethodA"); } public void MethodB() { Console.WriteLine("MethodB"); this.MethodA();//使用this关键字调用另一个方法 } } 模式窗体就是当该窗体显示时,其他窗体不可用,只有将模式窗体关闭之后,其他窗体才能恢复可用状态。 模式窗体使用ShowDialog()方法显示窗体, 新知讲授 四 ➽ 使用this关键字调用构造方法 public class MyClass { private int value; public MyClass() { this.value = 0; } public MyClass(int value):this() { this.value = value; } } 师生互动 五 1、总结类与对象的关系; 2、总结this关键字的使用场景; 讨论 随堂练习 六 1、在C#中,对象是类的________。 答案:实例 解析:类是抽象的,对象是类的实例。 2、在C#中,创建类的对象使用______关键字。 答案:new 解析:new用来创建一个对象。 随堂练习 六 3、要创建一个类Person的对象,以下正确的代码是( ) A. Person person; B. Person person = new Person(); C. new Person(); D. Person = new person(); 答案:B 解析:创建类的对象需要使用new关键字,格式为类名 对象名 = new 类名() 随堂练习 六 4、 关于对象的生命周期,以下正确的是() A. 对象的生命周期从构造函数调用开始 B. 对象的生命周期从析构函数调用开始 C. 对象的生命周期从垃圾回收开始 D. 对象的生命周期从程序启动开始 答案:A 解析:对象的生命周期从构造函数调用开始,到垃圾回收结束。 随堂练习 六 5、关于属性,以下正确的是( ) A. 属性是字段的封装 B. 属性可以没有get访问器 C. 属性可以没有set访问器 D. 以上都是正确的 答案:D 解析:属性是字段的封装,可以只有get或set访问器 随堂练习 六 6、在类的构造函数中,使用this()的作用是( ) A. 调用当前类的静态方法 B. 调用当前类的其他构造函数 C. 调用当前类的父类构造函数 D. 调用当前对象的属性 答案:B 解析:在构造函数中使用this()可以调用当前类的其他构造函数,实现构造函数的复用。调用父类构造函数使用base();this不能用于调用静态方法;this也不是用于直接调用对象属性的 课堂小结 七 谢谢 $$

资源预览图

项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂
1
项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂
2
项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂
3
项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂
4
项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂
5
项目七 任务一 类(二)(课件)-《算法与程序设计--C#》(河北科学技术出版社)同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。