C#中的抽象类和接口类有什么不同?C#中的抽象类和接口类有什么不同?
回答
一个类可以实现多个接口,但只能从一个抽象类继承。
抽象类可以为其方法提供实现。一个接口不能提供实现。
而不是写在这里整个事情..
尝试http://www.codeproject.com/KB/cs/abstractsvsinterfaces.aspx
谷歌“抽象类VS界面”,你会得到很多解释性的文章...
相同..:D – 2011-03-14 08:29:57
一个类可以实现多个 接口,但只能从 继承一个抽象类。
此外,抽象类可能定义了一些函数,但接口不会有任何函数定义,并且派生类必须定义它们全部。
的接口不是类,这是合同只是一个定义公众成员类必须实现。
抽象类只是一个类,从中你不能创建实例。通常你会用它来定义一个基类,它定义了虚拟方法的衍生类来实现。
接口级别高于抽象级别。
当你在设计strcuture时,画出uml,你应该使用界面。
当你实现时,你应该使用抽象来提取重复的东西。
无论如何,不同的是不仅仅是一个语法问题。
希望它有帮助。
我会通过使用解释这一点。当只有一个层次结构时可以使用抽象类,另外没有默认实现;而接口可以跨层次使用(水平),通常称为行为。
接口也是一个抽象,并在C#中替代多个类的继承,所以这可能会令人困惑,但你必须区分何时使用什么。
希望这有助于 罗伯特
一个抽象类的目的是为如何了一组派生类将工作,然后让程序员以填补执行派生类的基类定义。 当我们创建一个接口时,我们基本上创建了一组方法,而没有任何必须被实现的类覆盖的实现。其优点是它为类提供了一种方法,使其成为两个类的一部分:一个来自继承层次结构,另一个来自接口。
- 1. 抽象类与设计点的接口有什么不同?
- 2. 为什么C#中存在抽象类和接口?
- 3. 在C++中,接口类,静态类和抽象类是什么意思?
- 4. 纯抽象类和接口
- 5. PHP抽象类和接口
- 6. 抽象类和接口
- 7. 抽象类和接口之间有什么区别?
- 8. 为什么接口或抽象类有用? (或为什么?)
- 9. 为什么在接口为什么不能在抽象类
- 10. 接口类和抽象类有什么区别和相似之处?
- 11. 什么在Java中需要抽象类和接口
- 12. 抽象类和接口在Java中
- 13. 同时拥有抽象类和接口是否有好处?
- 14. 接口和抽象类的优点是什么?
- 15. 具有相同通用方法的抽象类和接口
- 16. 实现与抽象类的接口时声明什么(不)?
- 17. 抽象类和Mixin有什么区别?
- 18. Java接口和抽象类的问题
- 19. 什么时候去接口,什么时候去抽象类
- 20. 为什么我们有抽象类时需要接口?
- 21. 为什么任何一种抽象都使用接口而不是抽象类?
- 22. java中的接口中的抽象类
- 23. 抽象类或SoftDelete接口
- 24. 抽象类MouseAdapter与接口
- 25. 抽象类V/s接口
- 26. 接口vs 100%抽象类
- 27. 100%抽象类与接口
- 28. 接口或抽象类
- 29. 抽象类实现接口
- 30. 接口与抽象类
接口不是一个类,我猜.. – 2011-03-14 07:58:58
伟大的面试问题 – RobS 2011-03-14 08:00:35
可能是有用的http://stackoverflow.com/questions/10443344/when-to-use-abstract-classes-and-interfaces/10443530 #10443530 – 2012-05-15 12:13:23