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

抽象类和接口的区别

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

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

抽象类和接口的区别

你可能感兴趣的:(抽象类,java,设计模式,接口,c#)