码迷,mamicode.com
首页 > 其他好文 > 详细

继承与多态

时间:2014-11-25 09:11:11      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   sp   for   on   

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
    //定义了一个叫Enemy 类
    public class Enemy
    {
        //构造函数
        public Enemy()
        {
            Console.WriteLine("enmey contructor");
        }

        //声明为虚方法
        public virtual void UpdateAI()
        {
            //Enemy的AI
            Console.WriteLine("update enemy ai");
        }
    }
    //派生类Boss继承自基类Enemy
    public class Boss : Enemy
    {
        //构造函数
        public Boss()
        {
            Console.WriteLine("boss contructor");
        }
        //添加override,代替基类的方法
        public override void UpdateAI()
        {
            //Boss的AI
            Console.WriteLine("update boss ai");
        }

    }
    class Program
    {
        static void Main(string[] args)
        {
          Enemy [] enemies=new Enemy[2];//创建一个数组,包括两个Enemy基类
          enemies[0] = new Enemy();//创建一个Enemy,执行Enemy的构造函数
          enemies[1] = new Boss();//创建一个Boss,先执行Enemey的构造函数,再执行Boss的


          for (int i = 0; i < 2; i++)
          { 
            //enemies[0]会调用Enemy类的UpdateAI
              //enemies[1]会调用Boss类的UpdateAI
              enemies[i].UpdateAI();
          }
            
          //按任意键退出
          Console.ReadKey();

        }
    }
}

 

继承与多态

标签:style   blog   io   ar   color   os   sp   for   on   

原文地址:http://www.cnblogs.com/heisaijuzhen/p/4120136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!