最近考研,因为要准备面试,所以回顾一下知识点。
-
面向对象 与 面向过程
面向对象 面向过程 优点 提高了程序扩展性 降低了写程序的复杂度 缺点 可控性差 一套流水线,代码复用率低 -
类 与 对象
具有相同特征和技能的一类事物是类
这一类事物中具体的一个就是对象 -
面向对象的三大特性
继承
多态:由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应。例如,狗和鸡都有“叫()”这一方法,但是调用狗的“叫()”,狗会吠叫;调用鸡的“叫()”,鸡则会啼叫。
封装:通过限制只有特定类的对象可以访问这一特定类的成员,而它们通常利用接口实现消息的传入传出。 -
抽象类 与 接口
一个类只能继承一个抽象类,而一个类可以实现多个接口;
抽象类的成员变量可以是多种类型,而接口中的成员变量只能是public static final类型的,且必须给初值;
抽象类中可以有非抽象方法,接口不能有非抽象方法;
接口可以省略abstract关键字,抽象类不能;
接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;