面向对象编程01
前面12讲我已经写完了从零开始学JavaSE(庆祝完结撒花!), 那么从今天开始正式步入面向对象编程。建议开启本章之前先回顾 JavaSE010方法详解和 Java变量与方法的调用:同类操作中与跨类操作中的对比
面向过程&面向对象
- 面向过程思想:线性思维
- 步骤清晰简单:第一步,第二部,。。。
- 面向过程适合处理一些较为简单的问题
- 面向对象编程
- 物以类聚,分类的思维模式,思考问题首先会思考解决问题需要哪些分类。
- 面向对象适合处理复杂问题,适合处理需要多人协作的问题。
- 对于复杂的事物,为了从宏观上把握,从整体上分析,我们需要使用面向对象的思路去分析整个系统。但是具体到微观操作时,仍然需要面向过程的思路去处理。
- 所以,面向过程与面向对象不可分割!
什么是面向对象
-
面向对象编程(OOP: Object-Oriented Programming)
-
面向对象编程的本质:以类的方式组织代码,以对象的形式组织(封装)数据
-
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
-
类:类是一个模板,它描述一类对象的行为和状态。
-
举例:下图中男孩、女孩分别是一个类,但是具体的某个男孩或女孩是一个对象。
-
-
面向对象三大特征:
- 继承
- 封装
- 多态
-
从认识论角度考虑是先有对象后有类。对象是具体的事物,类是抽象的,是对对象的抽象化。
-
从代码运行角度考虑,是先有类后有对象。类时对象的模板。