对封装,抽象,继承,多态的理解

这些东西是属于面向对象的几个特征;

封装有封装类,封装方法,对类的封装就是讲一个类所具备的属性和能力集中起来,使一个类专职于自己能做,需要做的事情上面,封装方法方便了代码的重用,减少了冗余的代码。

抽象分为抽象类和抽象方法,抽象类无法直接创建,它依赖于子类的实现。抽象类中不一定有抽象方法,具备抽象方法的类一定是抽象类,接口中的方法全部都是抽象方法。将类或者方法抽象化,不关心其具体如何实现,使我们专注于其具备的能力,从而能够更加快捷高效的搭建完善设计层,框架层。

继承:所有的类都有一个共同的父类,就是Object类。子类继承父类之后可以拥有父类所拥有的所有成员变量和方法,继承对于代码的重复使用,业务扩展,模板设计都有好大的用处。

多态:即动态绑定,在代码执行期间根据使用对象的实际类型去调用相对应的方法,多态依赖于继承和重写,并且只有当父类的引用指向子类对象的候才会出现多态情况。简单的说就是在不同环境或者不同对象对同一个指令做出了不同的响应。多态的好处有可替换性,(同样是笔,铅笔可以写字,同样的可以替换成毛笔写字)、可扩充性(水笔写出来的字已经满足不了我的需求,那么我使用了彩色水笔写字,可以写出不同颜色的字以满足我的需求)、接口性(对于第三方使用者,笔提供了统一的使用方法-->写字,这个方法可以抽象成为接口提供使用)、灵活性(替换实际引用就可以达到业务目的,不需要修改原业务逻辑)、简化性(多态简化对应用软件的代码编写和修改过程,like灵活性,增加一个实现子类,就能达到一个扩充业务能力的目的,而不需要对原代码结构上进行破坏,这也算得上具备了一定的类解耦作用)。