WEB开发网
开发学院软件开发C语言 C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐... 阅读

C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐藏

 2009-02-23 08:18:51 来源:WEB开发网   
核心提示:继承:using System;class Parent{public void Msg() { Console.WriteLine("Parent"); }}class Child : Parent { }class Program{static void Main(){Parent ObjPar

继承:

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

Tags:语法 练习 继承

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接