提起子类、基类和方法继承这些概念,肯定大家都非常熟悉。毕竟,作为一门支持OOP的语言,掌握子类、基类是学习C#的基础。不过,这些概念虽然简单,但是也有一些初学者可能会遇到的坑,我们一起看看吧。
子类继承基类非私有方法
首先我们看最简单的一种,子类继承自基类,但子类对继承的方法没有任何改动
class Person
{
public void Greeting()
{
Console.WriteLine("Hello, I am Person");
}
}
class Employee : Person
{
}
class Program
{
static void Main(string[] args)
{
Person p = new Employee();
p.Greeting();
}
}
在这个例子中,作为子类的Employee自动继承了基类的Greeting方法,当在子类实例调用这个方法的时候,实际上调用的是基类的方法。这个例子非常简单,毋庸多言。
子类覆盖基类方法
接着是最常见的情况,子类覆盖基类的方法,典型的例子如下
class Person
{
public virtual void Greeting()
{
Console.WriteLine