c重载静态方法构造函数析构函数ppt课件

上传人:汽*** 文档编号:568782133 上传时间:2024-07-26 格式:PPT 页数:14 大小:174KB
返回 下载 相关 举报
c重载静态方法构造函数析构函数ppt课件_第1页
第1页 / 共14页
c重载静态方法构造函数析构函数ppt课件_第2页
第2页 / 共14页
c重载静态方法构造函数析构函数ppt课件_第3页
第3页 / 共14页
c重载静态方法构造函数析构函数ppt课件_第4页
第4页 / 共14页
c重载静态方法构造函数析构函数ppt课件_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《c重载静态方法构造函数析构函数ppt课件》由会员分享,可在线阅读,更多相关《c重载静态方法构造函数析构函数ppt课件(14页珍藏版)》请在金锄头文库上搜索。

1、方法的格式既无参数也无返回值的方法,如:void fun()有参数但无返回值的方法,如:void fun(int a, char ch)无参数但有返回值方法,如:double fun()既有参数又有返回值的方法,如:int fun(string s)方法中的参数(I)方法中参数的传递值传递、引用传递-ref、输出参数-out,例:class Test static void Main()void fun(ref int x, ref int y) int t = x;int a = 3, b = 5;x = y;new Test().fun(ref a, ref b);y = t;Consol

2、e.WriteLine(a = + a);Console.WriteLine(a = + a); 将上面代码中的 ref 关键字去掉,就成了按值传递,再把 ref 换成 out 试试!方法中的参数(II)ref 与 out 的区别:1、ref 必须在函数体外初始化。2、out 必须在函数体内初始化,在外面初始化没意义。也就是说,out型的参数在函数体内不能得到外面传进来的初始值。3、两者在函数体的任何修改都将影响到外面。变长参数使用变长参数可以接收多个不确定个数的参数,用关键字 params。变长参数必须位于形参列表的最后,而且只能是一维数组。params 不能与 ref 和 out 联用:s

3、tatic void print(params int a) Console.Write(有0个元素,a.Length); foreach(int i in a) Console.Write(i); static void Main() int arr = 3, 9, 2; print(arr); print(35, 67, 88, 91, 16); print();方法的重载方法名相同,但方法中参数参数的个数、类型及顺序不同,即为重载方法的返回值不参与重载。如下:void fun(int x);int fun(int x);void fun(int x);int fun(int x, int

4、 y);void fun(int x, double y);void fun(double y, int x);不是重载,编译报错是重载,可以使用是重载,可以使用构造方法(I)完成对类实例对象的初始化初始化工作。一般(通过方法的参数)用来对类的成员变量进行初始化操作。有以下几点特征:1、具有与类相同的名称、具有与类相同的名称2、没有返回值类型、没有返回值类型3、该方法内部没有、该方法内部没有 return 语句语句当一个新的对象生成时,构造方法由系统自动调用自动调用,而且只执行一次只执行一次例:战士们进入阵地时,每个人都会自动完成卧倒、瞄准例:战士们进入阵地时,每个人都会自动完成卧倒、瞄准等动

5、作,指挥官没有必要一一告诉等动作,指挥官没有必要一一告诉构造方法(II)每个类都必须要有构造方法如果我们在类中没有显式地定义构造方法,系统将提供一个不带参数的、什么都不做的构造方法一旦我们定义了构造方法,系统将不再提供默认的构造方法class Student int id; string name; public Student (int id, string name) this.id = id; this.name = name; 一旦在构造方法前面一旦在构造方法前面加上了加上了void 关键字,关键字,那么它将成为一个普那么它将成为一个普通的成员方法!通的成员方法!构造方法的重载clas

6、s Student public int id = 2; public string name = Tom; public int age = 21; public Student(int id, string name, int age) this.id=id; this.name=name; this.age=age; public Student(int id, string name) this.id=id; this.name=name; public Student()/以下是主方法中的操作以下是主方法中的操作public static void main(Stringargs)

7、Student stu1=new Student(); Student stu2=new Student(103,Mike); Student stu3=new Student(107,Mary,18);含有三个参数的构造方法含有三个参数的构造方法含有二个参数的构造方法含有二个参数的构造方法无参构造方法无参构造方法构造方法与 this在一个构造方法中可以使用this关键字调用它的另一种重载形式,如:public Student(int id, string name) this.id = id; this.name = name;public Student(int id, string na

8、me, int age): this(id, name)/此代码调用了上面的重载形式此代码调用了上面的重载形式 this.age = age;析构方法以符号开头,用于执行清除关闭工作不接收参数、没有返回值、没有修饰符析构方法不能重载一个类只能有一个析构方法在垃圾收集器抛弃一个对象之前,先调用析构方法不能手动调用,只能由垃圾器调用静态成员在类中,用 static修饰的静态成员从一开始就存在,而无须用 new 来创建;也就是说在类的对象产生之前,static 成员就已经出现了;没有用static修饰的成员被称为“实例成员”无论创建多少类的实例对象,它们都共用同一个(组)static 成员stati

9、c 成员只能只能用类名直接调用静态方法中不能不能使用 this 关键字静态与实例成员的相互调用静态方法不能调用实例成员实例方法可以调用静态成员装箱与拆箱是值类型与引用类型间的相互转换在C#中每一种类型都是从System.Object类派生而来的值类型转换成对象:装箱对象转换成值类型:拆箱int myInt1 = 28;object myObject = myInt1;/装箱string str = myInt1.ToString();/装箱int myInt2 = (int)myObject;/拆箱object 与 System.Object 是相同的is 运算符is 运算符用于检查某一变量或对象是否与指定类型兼容,以确定是否可以进行相应的转换static void Main() Test t = new Test(); Console.Write(20 is int);/输出true Console.Write(20 is long);/输出false Console.Write(t is Test);/输出true Console.Write(t is object);/输出trueclass Test int num = 3; public void fun() Console.Write(num);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号