C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐藏
C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐藏
涂孟超 发表于3年前
C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐藏
  • 发表于 3年前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   


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

 
 
 
 
 

 

 

  

共有 人打赏支持
粉丝 13
博文 2004
码字总数 14107
×
涂孟超
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: