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 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();
}
}
- ››练习开发简单的symbian程序
- ››练习顺序查找、折半查找及二叉排序树的实现
- ››继承派生多态
- ››继承:重新使用接口
- ››继承和finalize()
- ››继承初始化
- ››继承“protected”
- ››语法高亮控件 PfxEditCtrl
- ››语法高亮
赞助商链接