7、面向对象编程----7.1 什么是面向对象

7、面向对象编程

7.1 什么是面向对象

Java的核心思想就是OOP,即面向对象编程。我们之前学习的都是面向过程的,我们开始写一个main方法,程序由上到下依次执行,其实语言的发展过程就跟生物的发展过程差不多,都是物以类聚,就像我们的眼睛是感光细胞汇聚在一起就变成了眼睛,嗅觉细胞汇聚在一起就变成了鼻子,程序也是一样,最开始的时候语句比较简单,随着发展,语句变得越来越多,于是我们就把实现特定功能的语句提取出来就是我们所说的方法,自变量多的时候我们把它提取出来就变成了结构体,到后来方法等变得太多了,一个人实在无法撰写代码了,于是乎就把这些有共同特性的方法再提取出来,于是乎,这些方法加上属性就变成了类。放在企业中也是一样的,比如市场部的推广人员放在一起就成了市场部,老师等教学人员放在一起就变成了教研部。

一、面向过程&面向对象

  • 面向过程思想
    1. 步骤清晰简单,第一步做什么,第二步做什么···就是线性思维,就像把大象装冰箱一样
    2. 面向过程适合处理一些较为简单的问题
  • 面向对象思想
    1. 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后才对某个分类下的细节进行面向过程的思索。
    2. 面向对象适合处理复杂的问题,适合处理需要多人协作的问题
  • 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

二、什么是面向对象

  • 面相对象编程(Object-Oriented Programming,OOP)
  • 面相对象编程的本质就是:以类的方式组织代码,以对象的形式组织(封装)数据
  • 面相对象的核心思想
    1. 抽象,比如设计一个学生管理系统中的学生来说我们就只用关心他的学号、班级、成绩等,不用关心他的爱好、身高、体重等,因为他就是学生管理系统,抽象的概念就是把很多个学生,将他们的共同点剥离抽取出来,抽取出来之后就变成了类
    2. 三大特性
      • 封装:面向对象的基本特征之一,就是把数据包装起来,我们需要把我们写的代码封装起来,对外就提供一个小口,通过这个小口来访问我们写的代码,这就是封装。
      • 继承:跟生活中的继承一样,儿子会继承父亲的所有东西,类也是一样,我们可以有一个子类和父类,子类和父类之间可以通过继承,子类就获得了父类的方法和属性。
      • 多态:比如一个“学习的方法”,这个方法一般都属于人,而人又分为还多不同的人,比如小明学习好一点,小红学习差一点,但是二人都回去执行“学习”这个方法,但学出来的东西是完全不一样的。也就是说不同的对象是完全不一样的。也就是说同一事物表现出来的形态是不一样的。
  • 从认识论角度考虑,先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑是先有类后有对象。类是对象的模板

你可能感兴趣的:(Java学习,java)