很多时候,抽象类和接口并没有明确的划分。一个概念,设置成抽象类可以,设置成接口也可以。那么,究竟什么时候设置成抽象类、什么时候设置成接口呢?
基本上是遵循这样一个原则。
如果这个概念是生活中确确实实存在的概念、物体;一般设为抽象类;比如说:人,交通工具,方向等;相反,如果这个概念只是程序设计的方便而抽象出来的,一般设计为接口,比如:会动的,会飞的。
但是如果概念模糊,一般设计成接口。因为接口更灵活,因为实现接口后,还可以集成父类;但是集成抽象类后,就不能再集成 非抽象了。
很多时候,抽象类和接口并没有明确的划分。一个概念,设置成抽象类可以,设置成接口也可以。那么,究竟什么时候设置成抽象类、什么时候设置成接口呢?
基本上是遵循这样一个原则。
如果这个概念是生活中确确实实存在的概念、物体;一般设为抽象类;比如说:人,交通工具,方向等;相反,如果这个概念只是程序设计的方便而抽象出来的,一般设计为接口,比如:会动的,会飞的。
但是如果概念模糊,一般设计成接口。因为接口更灵活,因为实现接口后,还可以集成父类;但是集成抽象类后,就不能再集成 非抽象了。