本文介绍了抽象类和接口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
关于抽象类和接口的一些混淆。
抽象类与所有方法抽象和接口有什么区别?
例如
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?
推荐答案
这篇关于抽象类和接口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!