您的位置:首页 > 编程语言 > C#

C#面向对象(二)之抽象类实现多态

2014-01-26 11:25 10 查看
一、什么叫做多态?

统一操作作用于不同类的实例,不同类将进行不同的解释,最后产生不同的执行结果。

简单来说就是统一指令,对于不同的个体会产生不同的行为。

二、如何通过抽象方法实现多态?

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();
}
}
}


结果:


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐