类就是一组相似事物的总结。
什么是接口?
接口就是一种协议,这个协议定义了做什么样的事情。接口的作用就是把功能与具体的实现剥离开来,具体的实现代码交给实现此接口的对象去做。
什么是抽象类?抽象类与接口的区别在哪里?
说到抽象类,首先想到的是类这个概念。说到类,它就可以有字段,属性,方法这些特性。既然抽象类也具有这些概念,为什么不仅仅用类,反而多出了个抽象类这样的概念呢?因为仅有类这个概念远远不够。
想一个例子……比如乒乓球,篮球,台球等等,这些都属于球类,他们具有共同的属性是圆形的,可以玩。如果将这些东西用代码来描述的话,乒乓球一个类,用拍子打的,篮球一个类,击地弹起玩的,台球一个类,用杆子捣的。这时你会发现三个类中都会有是圆的这个属性,怎么玩的这个方法。拥有相同的属性,并且都有可以玩这个行为,我们为何不将其封装起来呢?一个球类,里面有属性,一个抽象方法可以玩(具体怎么玩,让继承他的子类去具体的实现)。这样的话,解决了很多代码冗余的问题。
接口不能有字段,只关注事情的行为(能干什么),而抽象类可以两者兼顾。