zoukankan      html  css  js  c++  java
  • C# 语法练习(10): 类[二] 继承、覆盖、多态、隐藏


    继承:
    using System;
    
    class Parent
    {
        public void Msg() { Console.WriteLine("Parent"); }
    }
    
    class Child : Parent { }
    
    class Program
    {
        static void Main()
        {
            Parent ObjParent = new Parent();
            Child ObjChild = new Child();
    
            ObjParent.Msg(); //Parent
            ObjChild.Msg();  //Parent
    
            Console.ReadKey();
        }
    }
    

    覆盖:
    using System;
    
    class Parent
    {
        public virtual void Msg() { Console.WriteLine("Parent"); }
    }
    
    class Child : Parent 
    {
        public override void Msg() { Console.WriteLine("Child"); }
    }
    
    class Program
    {
        static void Main()
        {
            Parent ObjParent = new Parent();
            Child ObjChild = new Child();
    
            ObjParent.Msg(); //Parent
            ObjChild.Msg();  //Child
    
            Console.ReadKey();
        }
    }
    

    多态:
    using System;
    
    class Parent
    {
        public virtual void Msg() { Console.WriteLine("Parent"); }
    }
    
    class Child1 : Parent 
    {
        public override void Msg() { Console.WriteLine("Child_1"); }
    }
    
    class Child2 : Parent
    {
        public override void Msg() { Console.WriteLine("Child_2"); }
    }
    
    class Program
    {
        static void Main()
        {
            Parent Obj1 = new Child1();
            Parent Obj2 = new Child2();
    
            Obj1.Msg(); //Child_1
            Obj2.Msg(); //Child_2
    
            Console.ReadKey();
        }
    }
    

    隐藏:
    using System;
    
    class Parent
    {
        public void Msg() { Console.WriteLine("Parent"); }
    }
    
    /* 有意隐藏应使用 new 关键字 */
    class Child1 : Parent 
    {
        new public void Msg() { Console.WriteLine("Child_1"); }
    }
    
    /* 无意隐藏会有提示, 但可用 */
    class Child2 : Parent
    {
        public void Msg() { Console.WriteLine("Child_2"); }
    }
    
    class Program
    {
        static void Main()
        {
            Parent Obj1 = new Child1();
            Parent Obj2 = new Child2();
            Child1 Obj3 = new Child1();
            Child2 Obj4 = new Child2();
    
            Obj1.Msg(); //Parent
            Obj2.Msg(); //Parent
            Obj3.Msg(); //Child_1
            Obj4.Msg(); //Child_2
    
            Console.ReadKey();
        }
    }
    

  • 相关阅读:
    SQL Server 日期和时间函数
    sql日期格式化函数
    C#中事件的使用
    CSS中的display:inline-block
    用aspnet_regiis注册Framework4.0框架
    什么是CSS hack
    第一次MySQL的SQL注入实验
    (二分)Block Towers(cf626)
    (多线程dp)Matrix (hdu 2686)
    (数位dp)Bomb (hdu 3555)
  • 原文地址:https://www.cnblogs.com/del/p/1367016.html
Copyright © 2011-2022 走看看