English 中文(简体)
如果物体继承从一个接口继承的抽象类别,则该物体将继承接口?
原标题:If an object inherit from an abstract class that inherite from an interface will the object inherit from the interface?

如果物体继承从一个接口继承的抽象类别,则该物体将继承接口。

这种接口能否与依赖性注射集装箱使用?

感谢。

最佳回答

是的,它确实能够实施这一接口,因为这样做是真实的,可以作为一种依赖性注入。

这是一种快速测试,证明接口的实施:

using System;

interface IParent {}
abstract class Parent : IParent {}

class Example : Parent
{
    static void Main()
    {
        Console.WriteLine(new Example() is IParent);
    }
}
问题回答

I consider interface as a kind of contract. Since the abstract class inherite from the interface, it is surely demanded to implement the functions of the interface. And the object (in fact the class of it) is demanded to override the abstract function of the abstract class. In my opinion, this pattern is only suitable for stable interface or abstract class. Cause once there was change to the contract of the interface or abstract class, that would be a disaster. Oops~~, you screw the build!

我更喜欢将虚拟班级用于基类,使功能变得虚拟,这样,你就可以在子类中凌驾于与接口/组合式解决方案相同的等级,并且能够方便地增加新的超负荷。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签