接口和抽象类

抽象类

抽象类是表示类型的,对一类事物的抽象,更关注事物的属性(也有方法)

比如说AClass继承了BaseClass,那么就可以说AClass就是一个BaseClass。

 

声明的是父类  new的是子类, 

1,类型是一个子类类型,  抽象类里面不一定有抽象方法。但是拥有抽象方法的类一定是抽象类,(抽象类中可以有普通方法)。抽象方法不能是私有的(私有的没有任何意义)。

2,声明的时候决定调用的是哪个类型的方法和属性  (普通方法和属性  属性也是方法)(普通方法和属性,子类在重写父类时  自动加new,会有警告但是不影响)

3,对于接口  虚方法 抽象方法   (声明的是父类  new的是子类) 则是调用子类的方法,因为override。

总结:普通方法的调用由编译时决定      虚方法和抽象方法由运行时决定

接口

接口描述可以做什么,对行为的扩展,更关注事物可以做什么,并且接口实现了功能和属性的分离

抽象类,是一种事物的抽象,更关注事物的属性(也有方法)。接口更关注的是功能。

接口实现了功能和属性的分离。

 

接口和抽象类的本质区别,就是抽象类的表示继承它的类,是某一类东西。

接口表示它有某一个行为。

 

代码下载

 

posted @ 2017-08-25 21:27  西伯利亚的狼  阅读(157)  评论(0编辑  收藏  举报