gpt4 book ai didi

c# - C# 中的抽象类继承与真实类继承

转载 作者:行者123 更新时间:2023-11-30 19:35:02 26 4
gpt4 key购买 nike

我想知道在使用抽象类和真实类进行继承时派生类是否有任何区别?

在我看来,真正的类继承创建了一个层次结构,而抽象类继承只是将编译器的代码复制粘贴到派生类?

抽象类是否创建层次结构?可以使用特殊关键字访问吗?

我知道您使用 base 关键字来访问基类,但是抽象成员看起来就像派生类中的原始成员一样?

最后,两者之间的性能差异是什么?

最佳答案

是的,抽象类确实存在——编译器不进行复制粘贴。您不会发现任何性能差异,因为 CLR 仍必须执行虚方法调用。

例如下面的 C#:

abstract class Foo { }

class Bar : Foo { }

生成以下 IL:

.class private abstract auto ansi beforefieldinit Foo
extends [mscorlib]System.Object { }

.class private auto ansi beforefieldinit Bar
extends Foo { }

抽象类型的概念是 IL 的重要组成部分。

关于c# - C# 中的抽象类继承与真实类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com