一,类的声明

  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的叫只读属性。

  

代码
            private int _age;//字段
            public int age //属性
            {
                
get
                {
                    
return _age;
                }
                
set
                {
                    
if (_age < 0)
                    {
                        Console.Write(
"不能小于0");
                    }
                    
else
                    {
                        _age 
= value;
                    }
                }
            }          

 

 

  6,索引就是对数组字段的引用

    

代码
            int[] _number;
            
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 class check
    {
        
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 文件综合起来。