什么是类?

“类”是面向对象编程的基本单元,一个类一般包含两种成员:字段和方法——即变量和函数。

例:

//字段或变量的定义
public int age;
//方法或函数的定义
public int Add(int a ,int b)
{
  //函数语句
  return 表达式;
}

什么是构造函数?

类的构造函数在以类为模板创建对象时被自动调用。
类的构造函数与类名相同,但没有返回值,相当于重新给类一个初始化的方法。

例:

class A
{
  //类A的构造函数
  public A()
  {
    //构造函数的内容,在winform中一般先写初始化整个form的函数,然后再写其他需要初始化的内容
  }
}


难点:引用类型与值类型

值类型的变量一定义之后就马上可用,比如int i,变量就可以使用。

而引用类型的变量定义之后,还必须用new关键字创建对象后才可以使用。也就是”对象“所用的类型。

在面向对象中,有一个非常难理解的问题:两个对象变量的相互赋值意味着什么

我们知道,引用类型是在托管堆中分配的,所以,如果对两个对象变量相互赋值,实际上相当于它们指向了同一个对象。

例:

1 //当每次new一个对象时,都会是一个新对象:
2 A a1 = new A();
3 A a2 = new A();
4 Console.WriteLine(a1==a2);//输出结果为false
5 //而当令这两者相互赋值时,它们便指向了同一对象
6 a1 = a2;
7 Console.WriteLine(a1==a2);//输出结果为true

但,如果是一个值类型的变量,它们对比的是变量的内容,而不是指向的对象,因为它的内存区域为线程堆栈(了解)。

类成员的访问权限

主要分为protect/private/public三大类。

private:只能被自身的实例方法所使用。

protect:是属于受保护的,外界类不能对其访问,但其子类可以访问。

public:公有的,外部皆可访问。