文章目录
- 参数
- 构造函数
- this关键字
- 析构函数
- event事件!!!
字段
字段通常用来存储对象的数据值。
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参数赋值。
未赋值之前不能使用。
getres中r 与 k的存储单元是一样的。
构造函数
构造函数可以被重载,不能被重写。
构造函数只用来初始化即可。
this关键字
this表示当前实例,可以访问类的成员。但是,如果当前类是静态的,那么不能使用this访问。
析构函数
public class Animal
{
public string AnimalName;
public Animal()
{
AnimalName = "动物";
}
~Animal()
{
AnimalName = String.Empty;
}
}
析构函数只能由一个!!!!!
event事件!!!
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。
C# 中使用事件机制实现线程间的通信。