面向对象
面向对象(Object Oriented)是软件开发方法,一种编程范式。
对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果。
特征
面向对象的三大特征:
封装:一个对象他所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作。
继承:继承机制允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
多态:多态允许不同类的对象响应相同的消息。
基础
面向对象的基础是:抽象。
抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。接口、类 、对象是面向对象编程中重要的因素,而这些组成因素都是从不同角度进行抽象而产生的。
让我们通过打水这个例子来对抽象进行深入的了解:
首先我们先去罗列关于打水事件涉及到的对象:打水人、水、饮水机、场所、受水人。然后进一步去抽象:参与者、使用的工具、场所(UI)、材料(参数)。将打水人和受水人抽象为参与者。
总结
面向对象关注的是对象而不是过程,关注的是谁,而不是让谁。