继承就是从父类中获取一些公开的成员,,如方法和属性。C#中只允许继承一个父类,但允许继承多个接口。如果子类继承接口,则必须实现接口中定义的所有公开成员。
公开成员是指在父类中定义为public的成员(public的作用域可在子类中生效,而private作用域则不可)
子类继承父类:
子类拥有父类非Private的属性和功能;
子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;
子类还可以以自己的方式实现父类的功能(方法重写)。
父类 某个类继承自某个类
子类 派生类 超类
代码例子如下图:
//父类
class ren{
private sting _name;
prviate string _sex;
private DateTime _birthday;
}
子类:
class xuesheng :ren{
}
然后在xuesheng中就会获得ren 的属性。
多态:
多态是指类可以有多种形态,通过修改可以形成多个实现方法。子类从父类继承时它会获得父类的所有方法、字段、属性、事件。多态表示不同的对象可以执行相同的操作,但要通过它们自己的实现代码来执行。
若要改变父类的数据和行为,两种方式:可创建新的成员替换父级成员,或者可以重写虚拟的父级成员。
类的多种形态
父类存在虚方法 virtual
子类重写 override
实例如下:
建立一个fly类然后创建一个方法:
class fly
{
public string flying(){
return "我会飞";
}
}
建立一个子类:
public class plane : fly{
}
如果要改变子类的内容可以给父类加一个虚方法:
public virtula string flying(){
}
然后在子类重写就可以改内容了:
public override string fliying(){
renturn"需要更改的内容";
}
访问修饰符:
public 公共的,只要引用了命名空间就能用
访问级别最高
private 私有的,只能在类的内部进行访问
访问级别最低
internal 默认的,同一个命名空间下可以访问
访问级别次最高
protected 被保护的,类的内部及它的子类中才可以访问
访问级别次最低