一,类的声明
1,【特性】【类修饰符】class 类名 【:基类或接口】
{}【;】
a,【】内的内容为可选的。
b,默认的类修饰符是internal。
c,类的访问修饰符有两种,①public:所有的类都可以访问。②internal:在同一个程序集(处在同一个项目下的类)中可以访问。
二,类的成员
1,有数据成员(字段,常量)和函数成员(方法,属性,索引,事件,运算符,构造函数,析构函数)。
2,类成员的修饰符有:public,protested(继承类可以访问),internal(本程序集可以访问),protested internal(||),private(只有本类可以访 问)。默认修饰符是:private。
3,字段一般采用private修饰。
4,常量一般用大字字母表示,不同单词之间用下划线连接。
const int RETURN_INT=123;
5,属性的本质是一个方法。只有get的叫只读属性。
public int age //属性
{
get
{
return _age;
}
set
{
if (_age < 0)
{
Console.Write("不能小于0");
}
else
{
_age = value;
}
}
}
6,索引就是对数组字段的引用
public int this[int indexer]
{
get
{
return _number[indexer];
}
set
{
_number[indexer]=value;
}
}
三,类和对象
1,对象是对实例成员的调用。类可以对静态成员的调用。
2,创建一个对象,就在托管堆中开辟一块内存空间。如何是对象的赋值,则两个对象是指向同一块内存空间。改变一个对象会影响另外一个。例:
dog dog1=New dog();
dog dog2= dog1;
这个时候dog1, dog2指向同一块内存。
四,构造函数和析构函数。
1,构造函数和析构函数都不能有返回值,void也不可以。
2,构造函数可以有多个,只要其参数不一样就可以。实例化对象时,匹配参数相同的。一般用public修饰。
3,私有构造函数:
①,不能在类外被访问。
②,一般只用于只包含静态成员的类。此类不需要被实例化。如Math类。
4,静态构造函数:
①,初始化类。
②,在以下情况下调用静态构造函数 :创建类对象和引用类的任何一个静态成员。
5,析构函数
①,调用析构函数的时机不确定。
②,没有参数,没有返回值类型,一个类只有一个析构函数。
五,命名空间
1, 命名空间的别名:Using A=N1.N2.A;
2,命名空间可以嵌套。
3,顶级命名空间就是一个程序集。也就是一个项目。
六,内部类
1,类可以嵌套定义。
2,可以通过内部类的实例化外部类来调用外部类的成员。
{
public check()
{ }
public void test()
{
Console.Write("Hello world y");
}
public class interclass
{
public interclass()
{
}
//check check1; //method 1.
//interclass(check c1)
//{
// check1 = c1;
//}
//public void display()
//{
// check1.test();
//}
// check1.test();//会报错
public void display() //method 2.对外部类的调用一定要写在方法里面。不可以写在方法外面。否则会报错。
{
check ck = new check();
ck.test();
}
}
}
七,分部类
1,一个类可以在不同的.cs文件中出现,但是必须要有partial修饰。编译时会把不同的.cs 文件综合起来。