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();
        }
    }
    

  • 相关阅读:
    什么是 HTTPS
    首页飘雪的效果
    load data导入数据之csv的用法
    phpcms v9 配置sphinx全文索引教程
    js的一些技巧总结
    MySQL 清除表空间碎片
    使用的前台开发在线工具
    (phpQuery)对网站产品信息采集代码的优化
    永远不要打探别人工资
    git 显示多个url地址推送
  • 原文地址:https://www.cnblogs.com/del/p/1367016.html
Copyright © 2011-2022 走看看