首页 > 其他 > 详细

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

时间:2014-01-26 15:19:19      阅读:323      评论:0      收藏:0      [点我收藏+]

一、什么叫做多态?

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

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

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

1.创建一个基类people.cs

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 继承之抽象类
{
    abstract class people  //抽象类
    {

       public abstract void SayHi();//抽象方法
      
    }
}
bubuko.com,布布扣

 

2.创建两个子类分别为Student.cs和Teacher.cs

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 继承之抽象类
{
    class Student:people  //继承抽象类Peoper
    {
        public override void SayHi()   //override重写抽象方法
        {
            Console.WriteLine("你好我是学生");
        }
    }
}
bubuko.com,布布扣
bubuko.com,布布扣
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("你好我是老师");
        }
    }
}
bubuko.com,布布扣

3.输出结果Program.cs

bubuko.com,布布扣
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();
        }
    }
}
bubuko.com,布布扣

结果:bubuko.com,布布扣

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

原文:http://www.cnblogs.com/Lhuatao/p/3533832.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!