面向对象
一种分析问题的方式,增强了程序的可扩展性
面向对象的3大特性
- 封装:字段封装成属性,类封装成类库
- 继承:类于类之间的关系
- 多态:接口,抽象类,虚方法.
多态的作用:把不同的子类对象都当做父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,已适应需求的不断变化
接口
优点:干净利落,建议使用优先级最高
- 接口命名规范:已I开头
- 接口中是不能有任何实现的
- 无访问修饰符,默认为public
- 接口不能被实例化
- 接口中全部为方法
- 接口可以看成特殊的父类
- 当 同时继承类和接口时,注意类在前面,接口在后面
- 可以继承多个接口
- 显示实现接口:解决方法重名问题
- 接口存在的意义就是为了多态
- 子类实现接口的方法时,不需要任何关键字,直接实现就可以
- 实现接口的子类,必须将接口中所有成员全部实现
注意:
- 接口尽量定义精简,功能少,避免造成接口污染
- new接口的方法
如果方法重名的话,在返回值前面加上new,使用子类自己的方法
显示实现接口
显示实现的接口要通过接口对象来调用(显示实现出的方法是私有的)
class Program
{
static void Main(string[] args)
{
Studnet s = new Studnet();
s.Fly();
IFly i = new Studnet();
i.Fly();
Console.ReadKey();
}
}
public interface IFly { void Fly();}
public class Studnet : IFly
{
public void Fly()
{
Console.WriteLine("我是实现接口");
}
void IFly.Fly()
{
Console.WriteLine("我是显示实现接口");
}
}