第九章(1) 定义类_构造函数
更新时间:2023-08-27 04:25:01 阅读量: 教育文库 文档下载
定义类_构造函数
第九章 类----构造函数 构造函数
定义类_构造函数
C# 中类的定义方法 类的使用– 在 C# 中,我们使用 new 运算符来创建类的 对象。类名(); 类名 对象名 = new 类名
定义类_构造函数
C# 中类的定义方法 类定义的示例:class 人 { public string 姓名 姓名; public string 性别 性别; public string 年龄; 年龄 public void 吃饭(食物 食物表) { 吃饭 食物[] 食物表 食物 foreach (食物 一份食物 in 食物表 { 食物表) 食物 if (一份食物 == 我爱吃的 { 我爱吃的) 一份食物 Console.WriteLine(“{0} 吃了 {1}!”, 姓名 一份食物 姓名, 一份食物); } else { Console.WriteLine(“{0} 扔了 {1}!”, 姓名, 一份食物); “ ” 姓名 一份食物 } } } }
定义类_构造函数
C# 中类的定义方法 类的使用示例:人 小强 = new 人(); 小强"; 小强.姓名 小强 小强 姓名 = "小强 小强.性别 小强 性别 = "男"; 男 小强.年龄 小强 年龄 = 20; 小强.吃饭 小强 吃饭( 吃饭 new 食物 { 食物 红烧肉 食物 生发药 } 食物[] 食物.红烧肉 食物.生发药 红烧肉, ); 小强.睡觉 小强 睡觉(16); 睡觉 小强.玩 棒球 棒球"); 小强 玩("棒球
定义类_构造函数
让它能工作起来 要让之前的示例能工作起来,我们还需 要指定小强喜欢吃些什么,那么我们可 以在“人”这个类中加入一个新的成 员——爱吃的食物。class 人 { public string 姓名 姓名; public string 性别 性别; public int 年龄; 年龄 public 食物 爱吃的食物 食物[] 爱吃的食物; }
定义类_构造函数
让它能工作起来 我们在建立人小强这个对象时,就可以 指定他爱吃的食物了!人 小强 = new 人(); 小强.姓名 = “小强“; 小强“ 小强 姓名 小强 小强.性别 小强 性别 = “男”; 男 小强.年龄 小强 年龄 = 20; 小强.爱吃的食物 食物[] 食物.红烧肉 食物.生发药 红烧肉, 小强 爱吃的食物 = new 食物 { 食物 红烧肉 食物 生发药 }; 小强.吃饭 小强 吃饭( 吃饭 new 食物 {食物 红烧肉 食物 生发药 } 食物[] 食物 红烧肉,食物 食物.红烧肉 食物.生发药 );
定义类_构造函数
让它能工作起来 想想,如果忘了指定小强爱吃的东西, 那会怎么样?人 小强 = new 人(); 小强.吃饭 小强 吃饭( 吃饭 new 食物 {食物 红烧肉 食物 生发药 } 食物[] 食物 红烧肉,食物 食物.红烧肉 食物.生发药 );
他会被饿死的! 他会被饿死的! 而且最可悲的是——他到死还是个秃子! 他到死还是个秃子! 而且最可悲的是 他到死还是个秃子红烧肉! 小强 扔了 红烧肉! 生发药! 小强 扔了 生发药!
这样下去的话,小强会怎么样 ?
定义类_构造函数
拯救计划 我们要拯救小强! 怎么才能防止漏填“爱吃的食物”字段 这种情况的发生呢?
定义类_构造函数
构造函数 定义对象,也就是要为对象分配空间, 定义对象,也就是要为对象分配空间, 也会为成员变量分配一块空间。 也会
为成员变量分配一块空间。每次创 建对象时都需进行初始化工作, 建对象时都需进行初始化工作,这是一 项繁琐的工作,因此定义了构造函数。 项繁琐的工作,因此定义了构造函数。 构造函数是特殊的方法,当用new命令每 构造函数是特殊的方法,当用 命令每 生成一个实例时, 生成一个实例时,构造函数都会自动执 行一次,而不用开发人员手工完成。 行一次,而不用开发人员手工完成。
定义类_构造函数
C# 中类的定义方法 构造函数和析构函数– 构造函数: 构造函数是指在创建类的对象时自动执行的函数, , 由它负责对类的对象进行初始化。
– 析构函数:, 析构函数是指在类的对象销毁时自动执行的函数, 由它负责对类的对象进行消销毁。
定义类_构造函数
C# 中类的定义方法 构造函数的特点: 构造函数的特点: – 构造函数其实就是定义这样的函数,它 构造函数其实就是定义这样的函数, 的名字与类的名字相同, 的名字与类的名字相同,并且不用定义 返回类型, 返回类型,因为构造函数是不能返回值 的。 – 除以上不同之处外,其它都和成员函数 除以上不同之处外, 的定义一样,它也可以有参数, 的定义一样,它也可以有参数,并且也 可以重载。 可以重载。
定义类_构造函数
C# 中类的定义方法 构造函数的特点 构造函数的特点:– 每个类至少有一个构造方法,如果没有定义 每个类至少有一个构造方法, 构造方法, 构造方法,则编译系统会自动产生一个无参 数的默认构造方法, 数的默认构造方法,这个构造方法不执行任 何代码。 何代码。 – 对于简单的类来说,默认的构造函数已足够 对于简单的类来说, 用,但对于复杂的程序而言通常不会这样做。 但对于复杂的程序而言通常不会这样做。 一旦定义了自己的构造函数, 一旦定义了自己的构造函数,默认的构造函 数就不再使用了。 数就不再使用了。
定义类_构造函数
C# 中类的定义方法 构造函数的调用:– 类的构造函数是在创建类的对象时自动被调 用的。类名(参数表 参数表); 类名 对象名 = new 类名 参数表
定义类_构造函数
构造函数使用示例static void Main(string[] args) { 王秃子=new 人("王秃子 男",20); 王秃子","男 人 王秃子 王秃子 Console.WriteLine("姓名:{0} 性别:{1} 年 姓名: 性别: 姓名 龄:{2}", 王秃子 姓名 王秃子 性别 王秃子 年龄 王秃子.姓名 王秃子.性别 王秃子.年龄 姓名, 性别, 年龄); 王秃子.睡觉 王秃子 睡觉(16); 睡觉 王秃子.运动 棒球 王秃子 运动("棒球 运动 棒球"); }
定义类_构造函数
构造函数使用示例class 人 { public string 姓名; public string 性别; public int 年龄; public 人(string name, string sex, int age) { 姓名 = name; 性别 = sex; 年龄 = age; } pu
blic void 睡觉(int time) { Console.WriteLine("睡{0}个小时", time); } public void 运动(string type) { Console.WriteLine("喜欢{0}", type); } }
定义类_构造函数
构造函数重载 可以通过为几个构造方法提供不同的参 数表的办法来重载构造方法。 数表的办法来重载构造方法。当发出 new 对象名 (参数 命令时,传递到 参数)命令时 参数 命令时,传递到new语 语 句中的参数表将决定采用哪个构造方法。 句中的参数表将决定采用哪个构造方法。
定义类_构造函数
构造函数重载示例class Employee { private String name; private int salary; public Employee(String n, int s) { name = n; salary = s; Console.WriteLine("name=" + n + ", salary=" + s); } public Employee(String n) { Console.WriteLine("name=" + n+", salary Unknown"); } public Employee() { Console.WriteLine(" Unknown "); } }
定义类_构造函数
构造函数重载示例static void Main(string[] args) { Employee E1=new Employee("Mickle",2); Employee E2=new Employee("Mary"); Employee E3=new Employee(); Console.WriteLine("E2="+E2); Console.WriteLine("E3=" + E3); }
定义类_构造函数
我们的拯救计划 构造函数的定义示例:class 人 { public public public public
string string string 食物[] 食物
姓名; 姓名 性别; 性别 年龄; 年龄; 爱吃的食物; 爱吃的食物 {
public 人(string 姓名 string 性别 int 年龄 食物 爱吃的食物 姓名, 性别, 年龄, 食物[] 爱吃的食物) this.姓名 = 姓名 姓名 姓名; this.性别 = 性别 性别 性别; this.年龄 = 年龄 年龄 年龄; this.爱吃的食物 = 爱吃的食物 爱吃的食物 爱吃的食物; } }
正在阅读:
第九章(1) 定义类_构造函数08-27
环境工程微生物复习题01-15
绍兴市市属中小学教学案例获奖名单04-25
2019北京海淀高三一模英 语03-11
2011资产评估复习题09-16
安全评价师一级实操试卷A06-13
七年级政治下册 第七课《感受法律的尊严》第一框教案 人教新课04-06
2015年河南省专业技术人员继续教育公需课考试答案合集(多选题)10-05
2019年温州市中考数学试卷03-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 构造
- 函数
- 定义