说起面向对象(Object Oriented Programming)首先想到的就是三个词:封装、继承和多态。
封装: 目的是为了简化编程和提升安全性(标识出允许外部使用的所有成员函数和数据项)。
- 属性封装
- 方法封装
继承和多态: 顾名思义,继承就是子类可以获取父类的特性,实际上就是为了更好的进行代码复用,而多态是指基于不同的父类调用同一方法也可能有不同的执行逻辑,与这个相关的还有一个有趣的名词”鸭子模型“。
另外与面向对象对应的还有个面向过程(Process Oriented)。其中的区别下面有一个通俗的解释,可以做一个参考
面向对象是相对于面向过程的,比如你要充话费,你会想,可以下个支付宝,然后绑定银行卡,然后在淘宝上买卡,自己冲,这种种过程。但是对于你女朋友就不一样了,她是面向“对象”的,她会想,谁会充话费呢?当然是你了,她就给你电话,然后你把之前的做了一遍,然后她收到到帐的短信,说了句,亲爱的。这就是面向对象!女的思维大部分是面向“对象”的!她不关心处理的细节,只关心谁可以,和结果!
来源:知乎 链接