抽象类和接口

扫码查看
本文介绍了抽象类和接口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

关于抽象类和接口的一些混淆。

抽象类与所有方法抽象和接口有什么区别?

例如

Some confusion about abstract class and Interface.
What is difference between a abstract class with all method abstract and Interface?
e.g

Interface IData
{
void Save();
}
abstract class AData
{
public abstratct void Save();
}





两者有什么区别?



接口如何比抽象类更安全?

为什么依赖注入始终优先使用接口而不是抽象类?

而在构造函数DI注入器中我们可以传递相同的抽象类作为接口的功能。

例如



What is difference between Both?

How Interface is more secure than abstract class?
Why dependency Injection always preferred to use Interface not abstract class ?
while in constructor DI injector we can pass abstract class which is same functionality as Interface.
e.g

--===For Interface
Interface IData
{
void Save();
}
public class Sql:IData
{
}
public class Oracle:IData
{
}
public class Client
{
IData _data=null;
Public Client(IData data)
{
_data=data;
}
}
--===For abstarct class
abstract class AData
{
public abstratct void Save();
}
public class ABSql:AData
{
}
public class ABOracle:AData
{
}
public class Client
{
AData _data=null;
Public Client(AData data)
{
_data=data;
}
}



两者有什么区别?


What is difference between both?

推荐答案



这篇关于抽象类和接口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-26 07:00
查看更多