闽公网安备 35020302035485号
class MyBaseClass //基类
{
public void Print()
{
Console.WriteLine("This is the base class");
}
}
class MyDerivedClass : MyBaseClass //派生类
{
new public void Print()
{
Console.WriteLine("This is the derived class");
}
}
internal class Program
{
static void Main(string[] args)
{
MyDerivedClass myDerived = new MyDerivedClass();
MyBaseClass myBaseClass = (MyBaseClass)myDerived; //转换成基类
myDerived.Print(); //从派生类部分调用Print方法
myBaseClass.Print(); //从基类部分调用Print方法
}
}
运行结果如下:
class MyBaseClass //基类
{
virtual public void Print()
{
Console.WriteLine("This is the base class");
}
}
class MyDerivedClass : MyBaseClass //派生类
{
override public void Print()
{
Console.WriteLine("This is the derived class");
}
}
class SecondDerivedClass : MyDerivedClass //派生类
{
override public void Print()
{
Console.WriteLine("This is the second derived class");
}
}
internal class Program
{
static void Main(string[] args)
{
SecondDerivedClass myDerived = new SecondDerivedClass();
MyBaseClass myBaseClass = (MyBaseClass)myDerived; //转换成基类
myDerived.Print(); //从派生类部分调用Print方法
myBaseClass.Print(); //从基类部分调用Print方法
}
}
运行结果如下所示:

class MyBaseClass //基类
{
virtual public void Print()
{
Console.WriteLine("This is the base class");
}
}
class MyDerivedClass : MyBaseClass //派生类
{
override public void Print()
{
Console.WriteLine("This is the derived class");
}
}
class SecondDerivedClass : MyDerivedClass //派生类
{
new public void Print()
{
Console.WriteLine("This is the second derived class");
}
}
internal class Program
{
static void Main(string[] args)
{
SecondDerivedClass myDerived = new SecondDerivedClass();
MyBaseClass myBaseClass = (MyBaseClass)myDerived; //转换成基类
myDerived.Print(); //从派生类部分调用Print方法
myBaseClass.Print(); //从基类部分调用Print方法
}
}
运行结果如下所示:

class MyBaseClass //基类
{
private int _myInt = 5;
virtual public int MyProperty
{
get { return _myInt; }
}
}
class MyDerivedClass : MyBaseClass //派生类
{
private int _myInt = 10;
override public int MyProperty
{
get { return _myInt; }
}
}
internal class Program
{
static void Main(string[] args)
{
MyDerivedClass myDerived = new MyDerivedClass();
MyBaseClass myBaseClass = (MyBaseClass)myDerived; //转换成基类
Console.WriteLine(myDerived.MyProperty);
Console.WriteLine(myBaseClass.MyProperty);
}
}
运行结果如下所示: