文件名称:C#接口抽象类区别实例
文件大小:46KB
文件格式:RAR
更新时间:2015-03-19 14:45:59
C# 接口 抽象类
c#中抽象类和接口。 相同点: (1) 都可以被继承 (2) 都不能被实例化 (3) 都可以包含方法声明 (4) 派生类必须实现未实现的方法 区 别: (1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。 (2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。” (3) 接口可以被多重实现,抽象类只能被单一继承 (4) 抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中 (5) 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性 (6) 接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法 (7) 接口可以用于支持回调,而继承并不具备这个特点 (8) 抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的 (9) 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法
【文件预览】:
接口抽象类区别.sln
WindowsFormsApplication1
----Form1.Designer.cs(4KB)
----Program.cs(505B)
----IPerson.cs(376B)
----strtPerson.cs(2KB)
----StudentUseClass.cs(2KB)
----obj()
--------x86()
----bin()
--------Release()
--------Debug()
----Form1.cs(2KB)
----WindowsFormsApplication1.csproj(4KB)
----Form1.resx(6KB)
----APerson.cs(467B)
----AStudent.cs(763B)
----StudentUseInterface.cs(2KB)
----IStudent.cs(304B)
----Properties()
--------AssemblyInfo.cs(1KB)
--------Settings.Designer.cs(1KB)
--------Resources.resx(5KB)
--------Settings.settings(249B)
--------Resources.Designer.cs(3KB)