📅  最后修改于: 2023-12-03 15:39:56.064000             🧑  作者: Mango
本文主要介绍 UGC NET CS 2018 年 7 月 – II 中的问题 61,该问题涉及到计算机科学领域中的面向对象编程语言。
面向对象编程语言是非常常见的编程范式,它具有封装、继承和多态等特性。现在我们来看一下如何在 C# 中实现继承和多态。
在 C# 中,我们可以使用冒号(:)来表示继承关系,比如:
public class Animal
{
public virtual string Talk()
{
return "Animal voice!";
}
}
public class Dog : Animal
{
public override string Talk()
{
return "Bark bark!";
}
}
在上面的代码中,我们定义了一个 Animal 类,它有一个 Talk 方法,并且返回字符串 “Animal voice!”。然后我们定义了一个 Dog 类,它继承自 Animal 类,并且重写了 Talk 方法,返回字符串 “Bark bark!”。
在 C# 中,我们可以使用 virtual 和 override 关键字来实现多态。在上面的 Animal 类中,我们定义了一个虚拟方法 Talk,然后在 Dog 类中使用 override 关键字来覆盖它。
多态还可以使用抽象类和接口来实现,比如:
public abstract class AbstractAnimal
{
public abstract string Talk();
}
public class Dog : AbstractAnimal
{
public override string Talk()
{
return "Bark bark!";
}
}
public interface IAnimal
{
string Talk();
}
public class Cat : IAnimal
{
public string Talk()
{
return "Meow meow!";
}
}
在上面的代码中,我们定义了一个抽象类 AbstractAnimal 和一个接口 IAnimal。然后我们分别定义了一个 Dog 类和一个 Cat 类,它们都实现了 Talk 方法。这样,在需要使用动态多态性的地方,我们可以使用 AbstractAnimal 和 IAnimal 来传递对象。
总结一下,在 C# 中,我们可以使用继承、虚方法、抽象类和接口来实现面向对象编程中的多态性。