Java 学习笔记4

面向对象&面向过程

面向过程思想

  • 步骤清晰简单,一步接一部
  • 面向过程适合处理一些简单的问题

面向对象思想

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

面向对象的三大特性

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

三大特性:封装、继承、多态

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

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

创建与初始化对象

  • 使用关键字new初始话对象
  • 类中的构造器也成为构造方法,在创建对象时必须调用。且必须和类同名,没有返回类型,也不写void
  • 一旦定义了有参构造方法,必须手动定义无参构造,否则报错

封装

  • 该露的露,该藏的藏:我们程序设计的追求是高内聚,低耦合。高内聚指类内部的数据操作细节自己完成,不允许外部干涉;低耦合指仅暴漏少量的方法供外部使用。
  • 封装(数据的隐藏)。通常,应禁止直接访问一个对象中数据的实际表示,应该通过接口访问,这称为信息的隐藏。
  • 属性私有,get/set。

继承

  • 继承的本质是对某一批类的抽象,从而实现对先实世界的建模。
  • extends 的意思是扩展。子类是父类的扩展。
  • Java中只有单继承。
  • 继承是类间的一种关系,除此之外,还有依赖、组合、聚合等。
  • 继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
  • 子类和父类之间,从意义上应该具有“is a”关系。
  • Object(任何一个类都继承的父类)、super(指向父类)、方法重写(重写都是方法,跟属性无关)。
  • 继承只能继承父类中public修饰的属性和方法。

多态

  • 同一个方法根据发送对象的不同而采取多种不同行为的方式
  • 一个对象的实际类型是确定的,但可以指向对象的引用类型有很多
  • 多态存在条件:有继承关系,子类重写父类方法,父类引用指向子类对象
  • 多态是方法的多态,属性没有多态
  • instanceof (类型转换)引用类型的转换,判断一个对象是什么类型
posted @ 2022-08-16 23:55  小丑橘~  阅读(24)  评论(0编辑  收藏  举报