现在的位置: 首页 > 综合 > 正文

ClassDemo

2013年10月20日 ⁄ 综合 ⁄ 共 935字 ⁄ 字号 评论关闭

New.cs

namespace ClassDemo

{
    // New 实现对一般方法的隐藏
    public class BaseClass
    {
        public void hello()
        {
            Console.WriteLine("你好,这是来自 父类");
        }
    }
    public class DerivedClass : BaseClass
    {
        public new void hello()
        {
            Console.WriteLine("你好,这是来自 子类");
        }
    }

}

Polymorphic.cs

namespace ClassDemo
{
    // 多态,子类重新定义父类的虚函数后,父类根据赋予的不同指针,动态调用子类的方法
    public abstract class AbsBaseClass
    {
        public abstract void hello();
    }
    public class DerivedClass2 : AbsBaseClass
    {
        public override void hello()
        {
            Console.WriteLine("你好!子类");
        }
        public static void SayHello(AbsBaseClass obj)
        {
            obj.hello();
        }
    }
}

namespace ClassDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // New #1 
            BaseClass obj = new DerivedClass();
            DerivedClass obj1 = new DerivedClass();
            obj.hello();
            obj1.hello();
            //Console.ReadKey();

            // 多态
            DerivedClass2 _obj = new DerivedClass2();
            DerivedClass2.SayHello(_obj);
            Console.ReadKey();
        }
    }
}

抱歉!评论已关闭.