抽象类和接口,面向对象的编程问题

时间:2010-03-03 15:48:53

标签: interface abstract-class

我对面向对象编程有一个线索:

我需要一个父类 HandlerException ,需要定义三种方法的符号( MethodA MethodB MethodC )。

然后,我有一个子类 BusinessHandler ,它继承自HandlerException,并且只定义其父类的 MethodA

然后,我有一个子类 DataHandler ,它继承自HandlerException,并且只定义其父类的 MethodC

然后,我有一个名为 CustomerDAO 的类,它继承自 DataHandler ,并使用在其父类上编写的 MethodC 。 (像DataHandler.MethodC)消费它。

正如您所看到的,它是典型的面向对象编程问题;我需要一些静态方法( MethodC )直接访问它,而不需要任何类的实例。父类 HandlerException 可以是抽象的吗?它的3种方法(A,B和C)可以是???? (这是我的问题,如何编写这个父类的正确方法:抽象成员抽象,虚拟,或者接口?)

我希望你能理解我的问题,并且我已经清楚了。提前谢谢。

我忘了:我正在使用C#,并提到: MethodB 将在应用的下一个版本中实现。

1 个答案:

答案 0 :(得分:0)

取决于您使用的语言,但听起来HandlerException类是抽象的,所有三种方法都是virtual

如果HandlerException类完全没有任何实现(只定义了这三个方法),那么将它作为接口而不是抽象类可能是有意义的。

此外,MethodB在哪里实施?如果它没有被任何类实现,那么所有类都需要是抽象的。