面向对象-封装、继承、多态
面向对象-封装、继承、多态
面向对象-封装
一、封装:
private 数据类型 _名字; --成员变量
public 默认一致 名字
属性 { get{ return _名字; } set{ _名字 = value; } }
类中不仅可以有成员变量和属性,还可以有成员方法
访问修饰符 - 4个
public - 公共的,任何地方都可以访问,但是需要引用 命名空间
private - 私有的,类的内部才可以访问
internal - 内部的,默认的,程序集中可以访问,程序集就是命名空间
protected - 被保护的,类的内部和类的父类和子类中可以访问
二、继承:
继承语法格式: 类名 : 父类名
子类 , xxx的派生类,超类
父类 , 基类
一个父类可以有无数个子类 一个子类可以有1个父类(亲爹)
子类并不是可以继承父类中所有的东西,而是可以继承父类中允许子类继承的内容,这个允许条件是依靠 访问修饰符 来做的权限
fly.cs中:
namespace 继承
{
public class Fly
{
public string Fling()
{
return "我会飞行!!!";
}
}
}
plane.cs中:
namespace 继承
{
public class Plane : Fly
{
}
}
bird.cs中:
namespace 继承
{
public class Bird : Fly
{
}
}
program.cs中:
namespace 继承
{
class Program
{
static void Main(string[] args)
{
Plane pl = new Plane();
Console.WriteLine(pl.Fling());
Bird b = new Bird();
Console.WriteLine(b.Fling());
Console.ReadKey();
}
}
}
三、多态:类的多种形态
有了继承才有了多态
定义关键字virtual 写在访问修饰符之后,
让方法变成 虚方法 可以被子类进行重写, override 只能重写函数体