C#抽象类

文章讲述了在C#编程中,如何使用抽象方法和抽象类来处理类的行为特征。当方法的具体实现不确定时,可以定义抽象方法,如Animal类的Shout()方法。抽象方法需用abstract修饰,并且包含抽象方法的类必须声明为抽象类。抽象类不能被实例化,但可以通过子类继承并实现其抽象方法来调用。
摘要由CSDN通过智能技术生成

       当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式时无法确定的。例如在定义Animal类时Shout()方法用于表示动物的叫声,但是不同动物的叫声也是不同的,因此在Shout()方法中无法准确地描述具体时那种动物的叫声。

       针对上述的情况,C#允许在定义方法时不写方法体。不包括方法的方法为抽象方法,抽象方法必须用关键字abstract来修饰,具体示例如下:

abstract  void Shout ();//定义抽象方法Shout()

当一个类中包含了抽象方法,该类也必须使用关键字abstract来修饰,使用关键字abstract修饰的类为抽象类,具体实例如下:

//定义抽象类Animal

abstract class Animal {

abstract void Shout ();//定义抽象方法Shout()

}

     需要注意的是,包含抽象方法的类必须声明为抽象类,但是抽象类可以不包含抽象方法。另外,抽象类是不可以类实例化的,因为抽象类中有可能包含抽象类,抽象方法是没有方法体的,不可以被调用。如果想调用抽象类中定义的方法,则需要创建一个子类,在子类中实现抽象中的抽象方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值