- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任务3登记客户信息------构造函数和析构函数
回顾与作业点评 如何定义成员变量和成员常量? 对象成员? * 客户管理系统的实现(2)---抽象与封装 项目五 项目任务 任务5-3登记客户信息------构造函数和析构函数 (1)掌握类的构造函数与析构函数的定义 (2)对象数据的初始化 (1)如何实现在实例化进行对象初始化处理 * 构造函数 2-1 构造函数是类的一种特殊方法,每次创建类的实例都会调用它 [访问修饰符] 类名() { // 构造函数的主体 } … // 默认构造函数 Employee() { _qualification = 研究生; } … 示例: * 演示:示例 1 构造函数 2-2 class Employee { private string _name; private char _gender; private string _qualification; private uint _salary; // 默认构造函数 public Employee() { _qualification = “研究生; } static void Main(string[] args) { // 调用默认构造函数 Employee objEmployee = new Employee(); Console.WriteLine(“资格= + objEmployee._qualification); Console.WriteLine(“薪水= + objEmployee._salary); } } 构造函数---案例 定义一个圆,在实例化一个圆对象时,其圆的半径的初始值为10 class Circle { private double _radius;//圆的半径 public Circle() //构造函数 { _radius=10 } } 静态构造函数 静态构造函数(static constructor)也称为类或类型构造函数,它在实例化对象或访问类任一成员之前执行 静态构造函数------特征 (1)静态构造函数既没有访问修饰符,也没有参数,不能重载,它的可访问性必须是private。 (2)在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类,无法直接调用静态构造函数。它只能访问静态成员。 (3)一个类只能有一个静态构造函数,最多只能运行一次。它不能调用其他构造函数。 (4)静态构造函数不可以被继承。 (5)如果没有静态构造函数,而类中的静态成员有初始值,那么编译器会自动生成默认的静态构造函数。 静态构造函数---案例 class BaseClass { private static int CallCounter; static BaseClass() { CallCounter=2; Console.WriteLine(Static CallCounter{0}, CallCounter); } public BaseClass() { CallCounter++; Console.WriteLine( CallCounter{0}, CallCounter); } } static void Main(string[] args) { BaseClass b1 = new BaseClass(); BaseClass b2 = new BaseClass(); BaseClass b3 = new BaseClass(); } 私有构造函数 对类构造函数应用private修饰符时,则禁止外部类创建该类的实例。 如果类只通过静态方法和字段来提供功能,那么就常常使用私有构造函数 私有构造函数----特征 (1)使用私有构造函数的类不会被继承,而且也不能被继承。 (2)私有构造函数只能禁止外部类对该类进行实例化,却不能禁止在该类内部创建实例。 (3)私有构造函数是一种特殊的实例构造函数。它通常用在只包含静态成员的类中。 (4)私有构造函数的特性也可以用于管理对象的创建 私有构造函数--案例 public class privateTest { private privateTest()//私有构造函数 { Console.WriteLine(private); } public privateTest(string a) //公有构造函数 { Console.WriteLine(public:{0},a); } } c
文档评论(0)