从了解Java一直被告诉OOP,可是OOP到底是神马呢?一直是只知其然不知其所以然,虽然现在还是表述不清楚其内涵,就先把大家的标准答案整理一下吧。
先来说说三大特性吧,当然是以java为例啦。
三大特性:
继承、封装、多态
继承:
继承就是子类继承父类(class)或接口(interface)的方法和属性,并实现代码复用;所以在我看来继承的本质是为了更加精确的封装信息,使封装的信息更加精炼。
封装:
粗浅的解
释封装就是对数据进行隐藏;所以在我看来就是对信息数据进行权限控制,使数据的访问及使用更加明晰。当然还有下面说的一些对于编程的好处。
封装,提供的对象隐藏内部特性和行为的一种能力,每个对象提供了一些方法,其他的对象可以访问并改变其内部数据。在Java中,提供了三种访问修饰符: 公有的,私有的以及保护的。每个修饰符都设定了不同的访问权限,这个权限设置不会因为包的不同而有差异。
下面是使用封装的一些优点:
-
通过隐藏属性来保护对象的内部信息
-
因为可以独立的修改或者扩展对象的行为,从而提高代码的可用性以及维护性
-
隔离,通过阻止对象使用不希望的互动方式来交互,以此来提高模块化程度。
多态:
多态就是重载和重写。在我看来就是多态就是针对封装来说的,封装使信息高度统一及格式化,但是这个世界如果太格式化了不是很无趣,所以就需要给我们一个展现自我的窗口。