Java学习笔记(六):面向对象① —— 认识面向对象

简介: Java学习笔记(六):面向对象① —— 认识面向对象

@[toc]
  
  
  

面向过程 & 面向对象

  
面向过程思想:

强调的是功能的行为,以函数为最小单位,考虑怎么做

  • 步骤清晰简单,第一步做什么,第二步做什么......
  • 面向过程适合处理一些较为简单的问题

  
面向对象思想:

强调具备了功能的对象,以类/对象为最小单位,考虑谁来做

  • 物以类聚,分类的思维模式,思考解决问题首先需要哪些分类,然后对这些分类进行单独思考。最后才对某个分类下的细节进行面向过程的思考。
  • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题。

对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理

  
举个例子:

人把大象装进冰箱 —— 这个问题怎么做?

面向过程写法:

  1. 把冰箱门打开
  2. 抬起大象,塞进冰箱
  3. 把冰箱门关闭


面向对象写法:

人{
        打开(冰箱){
            冰箱.打开();
        }
        
        抬起(大象){
            大象.进入(冰箱);
        }

        关闭(冰箱){
            冰箱.关闭();
        }
}

冰箱{
        打开(){
            具体操作
        }
        
        关闭(){
            具体操作
        }
}

大象{
        进入(冰箱){
            具体操作
        }
}

  
  
  

什么是面向对象

  

面向对象编程(Object-Oriented Programming,OOP)

面向对象的本质就是:以类的方式组织代码,以对象的方式组织 ( 封装 ) 数据。

面向对象的三大特征:

  • 封装
  • 继承
  • 多态


从生活认知角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对于对象的抽象。

从代码运行角度考虑是先有类后有对象。类是对象的模板。

  
  
  

类与对象的关系

  

类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。

  • 动物、植物、电子产品......
  • Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为。


对象是抽象概念的具体实例

  • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例。
  • 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念。

  
  
  

面向对象的思想概述

  

程序员从面向过程的执行者转化成了面向对象的指挥者
  

面向对象分析方法分析问题的思路和步骤:

  • 根据问题需要,选择问题所针对的现实世界中的实体。
  • 从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
  • 把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
  • 将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。

  

在这里插入图片描述

相关文章
|
23小时前
|
Java 关系型数据库 开发者
Java中的面向对象设计原则与实践
Java中的面向对象设计原则与实践
|
1天前
|
Java
Java面向对象知识总结+思维导图
Java面向对象知识总结+思维导图
|
1天前
|
Java
Java面向对象(二)
Java面向对象(二)
|
1天前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
|
1天前
|
Java
Java面向对象 ( 多态 | final关键字 | 接口 )
Java面向对象 ( 多态 | final关键字 | 接口 )
|
1天前
|
Java
Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )
Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )
|
2天前
|
设计模式 安全 Oracle
Java学习笔记:从入门到精通
Java学习笔记:从入门到精通
|
4天前
|
机器学习/深度学习 Java 关系型数据库
程序员必知:关于高淇JAVA中SORM总结学习笔记详细个人解释
程序员必知:关于高淇JAVA中SORM总结学习笔记详细个人解释
|
4天前
|
存储 安全 Java
Java基础系列1:Java面向对象
Java基础系列1:Java面向对象
|
4天前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
12 0