一、什么叫做多态? 统一操作作用于不同类的实例,不同类将进行不同的解释,最后产生不同的执行结果。 简单来说就是统一指令,对于不同的个体会产生不同的行为。 二、如何通过抽象方法实现多态? 1.创建一个基类people.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承之抽象类 { abstract class people //抽象类 { public abstract void SayHi();//抽象方法 } }
2.创建两个子类分别为Student.cs和Teacher.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承之抽象类 { class Student:people //继承抽象类Peoper { public override void SayHi() //override重写抽象方法 { Console.WriteLine("你好我是学生"); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承之抽象类 { class Teacher:people //继承抽象类Peoper { public override void SayHi() //重写抽象类Poeoer中的抽象方法SayHi() { Console.WriteLine("你好我是老师"); } } } 3.输出结果Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承之抽象类 { class Program { static List<people> peopers = new List<people>(); //定义一个泛型实例 public static void InitData() { Student st = new Student(); Teacher tc = new Teacher(); peopers.Add(st); peopers.Add(tc); } public static void Start() { foreach (people peoper in peopers) //遍历泛型实例 { peoper.SayHi(); } } static void Main(string[] args) { InitData(); Start(); Console.ReadLine(); } } } 结果: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|