初级知识点三——面向对象的三大特性
面向对象有三大特性:继承、封装、多态。
- 继承
继承,是指一个类可以继承另一个类。A类继承B类,那么A类就拥有了B类除却 private 修饰以外的所有属性、方法、字段等等。
- 封装
封装,是指将一系列操作抽象成一个类,然后通过不同的权限修饰符,只暴露出需要暴露的部分给外界,而把一些结构隐藏起来。
- 多态
多态,建立在继承的基础之上。简单来说,就是父类可以由继承他的子类来代替,但是使用的时候,其他模块完全无法分辨出到底是哪个子类在具体实现。
这三大特性有什么好处?
其实这个好处需要结合设计模式,才能够更好的讲解清楚,这里说一下大概。
有了封装,那么只需要暴露少量结构给外界,那么增加了程序的安全性,隐蔽性和内聚性。
有了继承,那么起码代码要少写很多不是,不用每一个子类都需要再次重复写实现过的代码。
有了多态,则让开放-封闭原则有了实现的可能。
这三者的好好运用,能够降低代码之间的耦合度,让每个模块之间更加独立,这样就能让代码拥有更好的可维护性、可扩展性、可复用性等。