文章目录

字段

字段通常用来存储对象的数据值。

class Animal
{
public string color;
public int age = 20;
}

字段的修饰符:除了可以为访问修饰符外,还可以加另外两个修饰符:static和readonly.
只读字段只能在构造函数或声明语句中赋值。

属性

属性包括两个访问器:
get访问器:用于读取属性值:
set访问器:用于设置属性值:

示例

public class Animal
{
private int_age;///将它私有化的情况下,只有Age能访问
public int Age
{//注意属性也是要加上对应的成员的数据类型的值
get{return _age;}
set{ _age = value;}
}
}

a = a - b;
b = a + b;
a = b - a;

方法

“方法”是包含一系列语句的代码块。程序通过“调用”方法并指定所需的任何方法参数调用语句。
Mian是C#应用程序的入口点,在启动程序时由CLR公共语言运行时调用。

总结,与Java不同的在属性方面,Java set,get是自己定义,而C#归为了一个功能,名为字段。

方法的重载(overloading)

这些方法的参数个数或参数类型不同。

class dd
{
public int max(int x, int y){
return x > y x : y;
}
public double max(double x, double y)
{
return x > y x : y;
}
}

抽象类不能创建实例,因为它的方法都没有定义。

参数

值参数:方法参数传递的最基本形式,也是最常用的形式;
引用参数:c#中使用“ref”表示参数按照引用传递。
也就是&的用法。

输出参数:c#还提供了一种传递引用的方式,即使用“out”关键字声明的输出参数。
被调用函数向调用函数传值!!!!!

类,数组,接口都是默认ref方式传值。

未赋值的变量不可用ref参数,但可用于out参数;
方法内必须给out参数赋值。
未赋值之前不能使用。
第四章 C#类的成员_构造函数getres中r 与 k的存储单元是一样的。

构造函数

构造函数可以被重载,不能被重写。
构造函数只用来初始化即可。

this关键字

this表示当前实例,可以访问类的成员。但是,如果当前类是静态的,那么不能使用this访问。

析构函数

第四章 C#类的成员_字段_02

public class Animal
{
public string AnimalName;
public Animal()
{
AnimalName = "动物"
}
~Animal()
{
AnimalName = String.Empty;
}

}

第四章 C#类的成员_构造函数_03析构函数只能由一个!!!!!
第四章 C#类的成员_c#_04

event事件!!!

事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。

C# 中使用事件机制实现线程间的通信。