Java面向对象OOP思想概述

OOP思想(Object Oriented Programming)

类和对象

在面向对象中,类和对象是最基本、最重要的组成单元
类:类可以说是一个模板,它描述了一类对象的行为和状态
对象:对象是类的一个实例,有对应的状态和行为
类是做什么用的呢:模拟现实,封装数据和代码
假如说生活中常见的动物狗,它也可以说是一个类,那么具体的对象例如:中华田园犬、哈士奇、哈巴狗等,每一个只狗都可以说是一个对象,都有它相应的特征(属性)和行为(方法),特征比如狗的颜色、名字等,行为比如会叫、游泳、吃饭等

总的概括来说:类是描述了一类具有相同特征(属性)和行为(方法)的一组对象的集合
对象的特征在类中表示为类的属性,比如狗的颜色、名字、种类等,哈士奇和哈巴狗都是狗,但是可能他们的名字或者颜色不同
对象的行为在类中是类的方法,比如狗都有的行为会叫,那么“会叫”就是类的方法
下面列举一些现实中的示例,方便理解类和对象

对象
正在考试的韩梅梅、上课的学生小明、打王者的张三
动物 一只正在打架的狗、一只睡觉的猫、一条水里的鱼

接口

什么是接口?
java与模式这本书中举得例子很形象:家里面常用的插座,我们可以把电风扇的插头拔下来,把自己电脑的充电插头插上去,这就是说,这些电器都是可插入构建,它们之所以是可插入的,是因为它们都具有和插座相匹配的插头。
那么所谓的接口,实际上就相当于插座,可插入构建就是我们用的这些电器,接口是实现构建的可插入性的关键
接口是做什么用的?
1:类之间的交互规范
在这里插入图片描述
2:定义功能使用者和功能提供者之间的接口
为什么要用接口?
1:隔离变化
2:接口是对可插入性的保证

抽象类

抽象类是做什么用的:包容变与不变
抽象类仅提供一个类型的部分实现,可以同时有抽象方法和具体方法,抽象方法可以说是变化的部分,具体的方法是不变的一部分

OOP三大特性

封装

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问,要访问该类的代码和数据,需要通过接口控制,封装可以让代码更容易维护和理解
封装的优点:
1:封装可以减少耦合
2:封装的类内部的代码可以随意的修改
3:隐藏实现的细节,直接调用接口即可

继承

继承是java面向对象编程技术的一块基石,继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为,或者子类覆盖父类的行为,重新实现自己的行为
继承的特性:
1:子类拥有父类非 private 的属性、方法
2:子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
3:子类可以用自己的方式实现父类的方法
4:Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类
5:提高了类之间的耦合性

多态

多态就是同一个行为具有不同的表现形式,同一个接口,不同的实例实现可能会出现不同的结果
多态为我们提供了什么:一种实现变化的方式
多态的优点:
1:消除类型之间的耦合关系
2:可替换
3:可扩充
4:灵活、简化

OOP复用的形式

类与类之间的关系:
1:继承
在这里插入图片描述
2:持有
组合,类2持有类1的实例
类2使用类1
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34365173/article/details/108012960