一.封装
![](https://i-blog.csdnimg.cn/blog_migrate/675a71887cfe1b35248112b0596cd110.png)
定义:将类的某些使用private将信息隐藏在本类中,不允许外部程序直接访问,但可以通过public使信息变为公共属性 用以提供给外部程序访问,以此来实现对隐藏信息的操作和访问
作用:防止外部类恶意访问并随意修改本类属性
使用方法: 案例
private int age;//字段私有化
public int Age //生成公共属性
{
get { return age; }
set {
if (age > 0)
{
age = value;
}
else
{
Console.WriteLine("年龄不符");
}
}
}
快捷键:prop+TAB propfull+TAB
二.继承
定义:一个类具有另一个类的属性和方法,这个叫子类(派生类)另一个类叫父类(超类、基类)
作用:防止类中的一些属性或方法等资源被重复调用
重写(override):在子类和父类中,子类中的方法名称和父类方法名称相同,参数相同,所以用在同一个类中,即使方法名称相同,参数不同(个数、类型),都与返回值无关
public virtual void CatEat()//虚方法
{
Console.WriteLine("喝牛奶");
}
public override void CatEat()//重写方法
{
Console.WriteLine("吃鱼肉");
}
虚方法(virtual):用于修改方法、属性、索引器或事件声明,在基类的函数中声明关键字virtual,就可以在其派生类中通过关键字override重写该方法。Virtual方法可被任何继承它的类替代,虚拟成员的实现可由派生类中的替代成员更改。重写后的virtual方法依旧是virtual方法。
三.多态
定义:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。这就是多态,这种特性称为多态性。多态简单来说就是同一个行为具有多个不同表现形式或形态的能力。
作用:可使代码变得简洁,使父类可以引用子类,使应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。
使用:
向上转型:将子类对象转为父类对象。此处父类对象可以是接口或抽象类。
转化后的父类对象具有父类所有方法,若方法被子类重写override,那么实际调用时,调用的是重写后的实现。