13、面向对象01

Java的核心思想就是OOP(面向对象编程)

一、面向过程&面向对象

面向过程思想(线性思维):

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

面向对象思想(相当于是一个设计框架):

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

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

属性+方法就是一个类了

语句很多提取出来叫做方法,有共同特性的方法再提取出来加上一些属性就叫做类。

比如同样是建造一座高楼,一个人设计、建造、做水泥工、粉刷工等等等等,虽然可能也能做但是工作量太大。

面向对象就类似于建造高楼有一个总设计师,根据不同类型的工作摊派类别任务。把大事化小。最底下那部分人还是面向过程去做。但是整体架构就很清晰了

二、面向对象

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

面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据

抽象

三大特性:

  • 封装
  • 继承
  • 多态

从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象

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

 三、方法回顾

方法的定义:

  • 修饰符
  • 返回类型
  • break:跳出switch,结束循环和return的区别
  • 方法名:注意规范就行,见名知意原则
  • 参数列表:(参数类型,参数名)...
  • 异常抛出:疑问

方法的调用:递归

  • 静态方法
  • 非静态方法
  • 形参和实参:
    实际参数和形式参数的类型要对应!
  • 值传递和引用传递
  • this关键字

 

 

 

 当a方法和b方法同为静态或同为非静态可互相调用,但是如一个为静态一个非静态则不能调用

static是和类一起加载的,所以当类存在的时候,static就一起存在了

非static的方法是类实例化之后才存在,所以一个存在的东西调用一个不存在的东西就会报错

 四、类与对象

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

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

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

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

创建与初始化对象:

  • 使用new关键字创建对象
  • 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
  • 类中的狗在其也成为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:
    1. 必须和类的名字相同
    2. 必须没有返回类型,也不能写void

构造器必须要掌握

类就是一个抽象的模板,一般不在类里把属性值写死,而是对实例化后的具体对象进行赋值

 

五、构造器

 

一个类即使什么都不写,它也会存在一个方法(默认是无参构造),所以可以直接new

构造器:
1.和类名相同;
2.没有返回值;
作用:
1.new本质就是在调用构造器
2.初始化对象的值
注意点:
1.定义了有参构造之后,如果想使用无参构造,显示的定义一个无参的构造

 

posted on 2021-04-30 15:12  乡下吃瓜群众  阅读(58)  评论(0)    收藏  举报