C#面向对象-多态
面向对象的三大特性(封装,继承,多态)大多少人都应该知道。前两个的话比较容易理解。本文主要说一下面向对象中的多态。 什么是多态? 不同的对象对同一操作,产生不同的执行结果。这就是多态。那么多态又包含了:重载,重写,虚方法,抽象方法。 1,重载 什么叫重载? 在同一个作用域的两个或多个方法函数名相同,参数列表不同的方法叫做重载。重载有三个特点: 1.1:方法名必须相同。 1.2:参数列表必须不同。 1.3:返回值类型可以不相同。 列如: 1 public void Animal() 2 { 3 Console.WriteLine("睡觉"); 4 } 5 public void Animal(int time) 6 { 7 Console.WriteLine("{0}点睡觉", time); 8 } 2,重写 什么是重写?子类中为满足自己的需求需要来重复定义基类中的某个方法的不同实现。重写需要使用override关键词。需要重写基类中的方法必须是虚方法或抽象方法。重写的特点: 2.1:相同的方法名。 2.2:相同的参数列表。 2.3:相同的返回值。 3,虚方法 什么是虚方法? 基类中定义的允许在子类中重写的方法叫虚方法。使用virtual关键字定义。子类可以不重写虚方法。列如: 1 class Animal 2 { 3 public virtual void EatFood() 4