抽象类定义?为什么要使用抽象类?

为什么要使用抽象类? 有什么好处?

答案:1  现实中一些父类中的方法没必要写  各个子类中的方法会有所不同 所以没必要在父类中写

2  看被人代码时候会注意这是抽象方法 会有个提示作用

3 当看到一个类是抽象的,要关心他的抽象方法, 因为他的子类一定会重写他,然后去找抽象类的引用,,会有多态性的体现

4  面向对象复杂但是是为了方便解决问题 

5  含有抽象方法的类必须定义为抽象类

6 不能使用 abstract修饰属相或者局部变量

7 抽象类中可以同时含有抽象方法和非抽象方法

8 在抽象类里定义的抽象方法只有方法头没有方法体,但这个抽象方法如果被多个子类所调用的时候,各子类可以根据各自需要实例化出不同的对象 并且重新定义不同的方法体上去,从而通过它来实现多态

9  抽象类可以有方法体 就是抽象工厂

10  抽象类中定义抽象方法不能有方法体(未实现)

11  demo 

抽象类是在接口和实体类之间的一个桥梁
例如
做一个接口叫做飞行FlyAnimalAction,里面定义一个方法叫做flying,再定义一个方法叫做eat
做一个类叫做蚊子实现接口,蚊子要实现flying方法,实现自己的eat方法
做一个类叫做苍蝇实现接口,苍蝇也要实现flying方法,实现自己的eat方法
你发现所有会飞的动物都要实现这个接口,很麻烦,不如
做一个抽象类FlyAnimal,然后实现上面的接口
在里面实现flying这个方法,因为大部分的飞行动作是一样的,而eat方法则继续写成抽象方法,因为大部分的动物吃东西是不一样的
下面你再写蚊子类就简单了,可以直接继承这个抽象类,然后实现自己的吃方法就行了
而且苍蝇类的制作也是一样,这个时候抽象类的功能就显示出来了,当然抽象类的功能远远不是这些,只是初期理解到这里就够了。

猜你喜欢

转载自blog.csdn.net/qq_38202756/article/details/81070570