您的位置:首页 > 编程语言 > C#

C#抽象类及其方法的学习

2013-07-13 09:35 162 查看
在C#中使用关键字 abstract 来定义抽象类和抽象方法。

不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们
的实例。

"一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步
一个抽象类只能通过接口和作为其它类的基类使用."- C++ Programming Language by Stroustrup Chapter13.2

抽象类能够被用于类,方法,属性,索引器和事件,使用abstract 在一个类声明中表示该类倾向要作为其它类的基类
成员被标示成abstract,或被包含进一个抽象类,必须被其派生类实现。

abstract class ShapesClass
class Square : ShapesClass

abstract class MyAbs
class MyClass : MyAbs
class MyClient
abstract class MyAbs
class MyClass : MyAbs//must implement base class abstract methods
class MyClient
abstract class MyAbs
//not necessary to implement all abstract methods
//partial implementation is possible
abstract class MyClass1 : MyAbs
class MyClass : MyClass1
class MyClient
class MyClass1 // Non-Abstract class
abstract class MyAbs : MyClass1 // Inherits from an non-abstract class
class MyClass : MyAbs//must implement base class abstract methods
class MyClient
interface IInterface
abstract class MyAbs : IInterface
class MyClass : MyAbs//must implement base class abstract method
class MyClient

abstract class MyAbs
class MyClass1 : MyAbs
class MyClient
interface I
abstract class C: I

抽象类具有以下特征:

1.抽象类不能被实例化。

2.抽象类可以包含抽象方法和访问器

3.不能把抽象类用密封(sealed)来修饰,那就意味着类不能被继承,这违反抽象类被继承的原则。

4.一个派生于一个抽象类的非抽象类必须包括所有的继承来的抽象方法和访问器的实现

5.在方法和属性中使用abstract 关键字意味着包含它们的实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: