第11章 面向对象
类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。
构造函数: 和类同名的一个方法,当创建对象的时候自动调用该方法,一般用于初始化数据。
构造函数中的属性具有get和set方法,get用于读取数据,set用于写入数据。
匿名类型: 当不确定数据的类型的时候,就可以在变量前加一个关键字var,那么该变量的类型就会根据初始化赋值决定。
类的继承
class Person{
string name;
}
//Student会继承父类的属性和方法
class Student:Person{
string name;
public void show(){
console.WriteLine(base.name);//输出的是父类的name
}
}
int main(){
Student stu = new Student();
}
虚函数
class Person{
string name;
//定义父类中的方法为虚方法,表示可以被重写
public virtual void show(){}
}
//Student会继承父类的属性和方法
class Student:Person{
string name;
//重写父类中的方法
public override void show(){}
}
//抽象类,不能实例化对象,只能被继承,继承的类必须重写父类的方法
abstract class Person{}
//密封类,表示类不能被继承
sealed class Person{}
常见修饰符:
- public,访问的最高权限,允许在同个项目或不同的项目中被访问。
- private,只允许在类或结构中被访问。
- internal,只允许在同一个项目中被访问。
- protected,只允许在同一个类或结构或此类的派生类中被访问。