C# 中的抽象函数与虚拟函数
本教程将比较 C# 中的抽象函数和虚拟函数。
C# 中的抽象函数
在 C# 中,抽象函数没有自己的定义。这意味着每个子类都必须重写抽象函数并提供其自己的抽象函数定义。抽象函数只能在抽象类内部声明。abstract
关键字用于在 C# 中创建抽象类和函数。以下代码示例向我们展示了如何使用 C# 中的 abstract
关键字创建抽象函数。
using System;
namespace abstract_vs_virtual {
public abstract class parentClass {
public abstract void name();
}
class Program : parentClass {
public override void name() {
Console.WriteLine("This is Child Class");
}
static void Main(string[] args) {
Program p = new Program();
p.name();
}
}
}
输出:
This is Child Class
我们创建了一个抽象类 parentClass
,并在 parentClass
类中声明了一个抽象函数 name
。我们从 parentClass
继承了 Program
类,并覆盖了 name()
函数。在 main
函数中,我们初始化 Program
类的实例并调用 name()
函数。
C# 中的虚拟函数
虚拟函数有其自己的定义,但它也允许子类覆盖它并具有相同函数的自己的定义。在 C# 中,virtual
关键字用于指定一个函数是一个虚拟函数。以下代码示例向我们展示了如何在 C# 中创建虚拟函数。
using System;
namespace abstract_vs_virtual {
public class parentClass {
public virtual void name() {
Console.WriteLine("This is the Parent Class");
}
}
class Program : parentClass {
static void Main(string[] args) {
Program p = new Program();
p.name();
parentClass pc = new parentClass();
pc.name();
}
}
}
输出:
This is the Parent Class
This is the Parent Class
在上面的代码中,我们创建了一个 parentClass
类,并在 parentClass
类中定义了一个虚拟函数 name()
。然后,我们从 parentClass
继承了 Program
类,并且没有覆盖 Program
类中的 name()
函数。在主函数中,我们创建了 Program
类和 parentClass
的实例,并用这两个实例调用了 name()
函数。函数调用 p.name()
给我们输出 This 是 Parent Class
,因为在 Program
类中没有 name()
函数的定义。
相关文章
在 C# 中将双精度值四舍五入为整数值
发布时间:2024/02/03 浏览次数:84 分类:编程语言
-
Math.Ceiling(),Math.Floor()和 Math.Round()函数有 3 种主要方法可用于在 C# 中将双精度值四舍五入为整数值。使用 C# 中的 Math.Ceiling() 函数将双精度值四舍五入为整数值
C# 中的 async 和 await
发布时间:2024/02/03 浏览次数:97 分类:编程语言
-
async 和 await 关键字用于 C# 中的异步编程。C# 中的异步编程 如果同步应用程序中有任何进程被阻止,则整个应用程序将被阻止并停止响应
在 Mac OS 上设置 C#
发布时间:2024/02/03 浏览次数:135 分类:编程语言
-
在本文中,了解设置 C# 语言以在 Mac OS 上进行开发的过程。本文将演示 Mac OS 上 C# 语言的完整设置和基本语法。在 Mac OS 上安装和设置 C#
在 C# 中将函数作为参数传递
发布时间:2024/02/03 浏览次数:192 分类:编程语言
-
我们可以使用 2 种主要方法将函数作为参数传递给 C# 中的另一个函数,func<>委托和 Action<>委托。
在 C# 中创建内联函数
发布时间:2024/02/03 浏览次数:132 分类:编程语言
-
在 C# 中创建内联函数的方法主要有 3 种,分别是使用 lambda 表达式、使用 lambda 语句和使用局部函数。在 C# 中使用 Lambda 表达式创建内联函数 在 C 和 C++ 之类的编程语言中,内联函数用 inline 关
从 C# 中的函数返回多个值
发布时间:2024/02/03 浏览次数:88 分类:编程语言
-
有 3 种主要方法可用于从 C# 中的函数返回多个值,使用数组作为函数返回类型,使用类或结构体作为函数返回类型,以及使用 Tuple
类作为函数的返回类型。
在 C# 中检查进程是否正在运行
发布时间:2024/02/03 浏览次数:182 分类:编程语言
-
可使用两种主要方法检查进程是否在 C# 中运行:Process.GetProcessByName()函数和 Process.GetProcessById()函数。
在 C# 中读取和写入 INI 文件
发布时间:2024/02/02 浏览次数:109 分类:编程语言
-
本教程教授如何在 C# 中读取和写入 INI 文件。本教程教授如何在 C# 中读取和写入 INI 文件。C# 中的 INI 文件是什么
在 C# 中的 Windows 窗体应用程序中播放 Mp3 文件
发布时间:2024/02/02 浏览次数:178 分类:编程语言
-
这篇文章将演示如何使用 C# Windows 窗体应用程序和 Windows Media Player 构建一个简单的 C# mp3 播放器。