多态

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

namespace 多态
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("====男人====");
            Nan n = new Nan();
            n.chifan();
            n.xihuanchi();
            n.zuqiu();

            Console.WriteLine();
            Console.WriteLine("====女人====");
            Nv v = new Nv();
            v.chifan();
            v.xihuanchi();
            v.gouwu();

            Console.WriteLine();
            Console.WriteLine("====小男孩====");
            XiaoNanHai x = new XiaoNanHai();
            x.chifan();


            Console.ReadKey();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 多态
{
    class Ren
    {
        public void chifan()
        {
            Console.WriteLine("我必须得吃饭!");
        }

        public virtual void xihuanchi()
        {
            Console.WriteLine("喜欢吃肉,蔬菜,水果!");
        }

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

namespace 多态
{
    class Nv : Ren
    {
        public override void xihuanchi()
        {
            Console.WriteLine("我是女人,我只喜欢吃蔬菜和水果!");
        }

        public void gouwu()
        {
            Console.WriteLine("我喜欢购物!");
        }

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

namespace 多态
{
    class Nan : Ren
    {
        public override void xihuanchi()
        {
            Console.WriteLine("我是男人,我只喜欢吃肉!");
        }

        public void zuqiu()
        {
            Console.WriteLine("我喜欢足球!");
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 多态
{
    class XiaoNanHai : Nan
    {
    }
}

多态:
有了继承,才有了多态;
概念:继承同一个父类的全部子类,使用起来都不一样,他们都是一个独立的个体;

普通父类中,可以出现虚方法,虚方法可以在子类中被重写;

虚方法:virtual
重写:override

父类,基类
子类,派生类,超类

posted on 2016-06-21 16:22  爱意红沉  阅读(150)  评论(0编辑  收藏  举报