- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
九定义类构造函数
第九章 类 C# 中类的定义方法 类的使用 在 C# 中,我们使用 new 运算符来创建类的对象。 C# 中类的定义方法 类定义的示例: C# 中类的定义方法 类的使用示例: 让它能工作起来 要让之前的示例能工作起来,我们还需要指定小强喜欢吃些什么,那么我们可以在“人”这个类中加入一个新的成员——爱吃的食物。 让它能工作起来 我们在建立人小强这个对象时,就可以指定他爱吃的食物了! 让它能工作起来 想想,如果忘了指定小强爱吃的东西,那会怎么样? 这样下去的话,小强会怎么样 ? 拯救计划 我们要拯救小强! 怎么才能防止漏填“爱吃的食物”字段这种情况的发生呢? 构造函数 定义对象,也就是要为对象分配空间,也会为成员变量分配一块空间。每次创建对象时都需进行初始化工作,这是一项繁琐的工作,因此定义了构造函数。构造函数是特殊的方法,当用new命令每生成一个实例时,构造函数都会自动执行一次,而不用开发人员手工完成。 C# 中类的定义方法 构造函数和析构函数 构造函数: 构造函数是指在创建类的对象时自动执行的函数,由它负责对类的对象进行初始化。 析构函数: 析构函数是指在类的对象销毁时自动执行的函数,由它负责对类的对象进行消销毁。 C# 中类的定义方法 构造函数的特点: 构造函数其实就是定义这样的函数,它的名字与类的名字相同,并且不用定义返回类型,因为构造函数是不能返回值的。 除以上不同之处外,其它都和成员函数的定义一样,它也可以有参数,并且也可以重载。 C# 中类的定义方法 构造函数的特点: 每个类至少有一个构造方法,如果没有定义构造方法,则编译系统会自动产生一个无参数的默认构造方法,这个构造方法不执行任何代码。 对于简单的类来说,默认的构造函数已足够用,但对于复杂的程序而言通常不会这样做。一旦定义了自己的构造函数,默认的构造函数就不再使用了。 C# 中类的定义方法 构造函数的调用: 类的构造函数是在创建类的对象时自动被调用的。 构造函数使用示例 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; } public 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.
文档评论(0)