抽象类和接口的区别_抽象类

抽象类和接口的区别

抽象方法没有实现。 而是由其派生的类提供其实现逻辑。 我们使用抽象类为派生类创建基础模板。

using System; 
abstract class Test
{
    public int _a;
    public abstract void A();
} 
class Example1 : Test
{
    public override void A()
    {
    Console.WriteLine("Example1.A");
    base._a++;
    }
} 
class Example2 : Test
{
    public override void A()
    {
    Console.WriteLine("Example2.A");
    base._a--;
    }
} 
class Program
{
    static void Main()
    {
    // Reference Example1 through Test type.
    Test test1 = new Example1();
    test1.A(); 
    // Reference Example2 through Test type.
    Test test2 = new Example2();
    test2.A();
    }
}
派生类。 创建派生类(例如Example1或Example2)时,必须为抽象类中的所有抽象方法提供重写方法。 两个派生类中的A()方法都满足此要求。

覆写

Int字段。 抽象类可以在其中包含一个实例字段。 派生的类可以通过基本语法访问此字段。 这是抽象类和接口之间的主要区别。

整数

无法实例化抽象类。 抽象类的重要部分是您永远不能将其与派生类分开使用。 因此,在Main中,您不能使用新的Test()构造函数。

但是:将测试类型分配给派生类型(例如Example1或Example2)后,可以直接使用Test类型。

翻译自: https://bytes.com/topic/net/insights/958403-abstract-class

抽象类和接口的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值