面向对象编程

1.面向过程思想

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

2.面向对象思想

  1. 物理类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
  2. 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!
  3. 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

3.什么是面向对象

  • 面向对象编程(Object-Oriented Programming , OOP)
  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据
  • 抽象
  • 三大特性
  • 封装
  • 高内聚,低耦合
  • 属性私有 set/get
  • 继承
  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
  • extends --扩展。子类是父类的扩展
  • java中只有单继承,没有多继承
  • ctrl+h --> 关系树
  • object类
  • super -this
  • 方法重写
  • 多态
  • 即同一方法可以根据发送对象的不同采用多种不同的行为方式
  • 一个对象的实际类型是确定的
  • 注意事项:
  • 多态是方法的多态,属性没有多态
  • 父类和子类,有联系 类型转换异常 ClassCastException!
  • 存在条件:继承关系,方法需要重写,父类引用指向子类对象!
  • instanceof 类型转换
  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物,类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑是先有类后有对象。类是对象的模板。
  1. 构造器
  • 和类名相同
  • 没有返回值
  • 作用:
  • new本质 是在调用构造方法
  • 初始化对象的值
  • 注意点:
  • 定义有参构造之后,如果想继续使用无参构造,显示的定义一个无参构造
  • 快捷键:Alt+Insert

5.总结

  1. 类与对象
  • 类是一个模板:抽象,对象是一个具体的实例
  1. 方法
  • 定义、调用!
  1. 对象的引用
  • 引用类型 基本类型(8)
  • 对象是通过引用来操作的:栈—>堆
  1. 属性:字段field 成员变量
  • 默认初始化
  • 数字:0,0.0
  • char:u0000
  • boolean:false
  • 引用:null
  • 修饰符 属性类型 属性名=属性值!
  1. 对象的创建和使用
  • 必须使用new关键字创造对象,构造器
  • 对象的属性
  • 对象的方法
  1. 类:
  • 静态的属性 属性
  • 动态的行为 方法

5.1静态导入包

import static java.lang.Math.random;

5.2 抽象类

  • abstract 只有方法名字,没有方法的实现
  • 继承抽象类,必须重写继承的方法
  • 不能new这个抽象类,只能靠子类去实现 :约束!
  • 抽象类中可以写普通的方法
  • 抽象方法必须在抽象类中
  • 提高程序可扩展性

5.3 接口

  • 只有规范!自己无法写方法
  • 可以实现多继承

java 函数式编程和面向对象区别 java面向对象的编程_java

6.异常

  • 检查性异常
  • 运行时异常
  • 错误error
  • 异常处理机制
  • 抛出异常
  • 处理异常
  • 五个关键字
  • try
  • catch
  • throw
  • finally
  • throws
  • 经验总结

java 函数式编程和面向对象区别 java面向对象的编程_抽象类_02