Day_14 多态、抽象、接口、Object、类关系

Day_14 多态、抽象、接口、Object、类关系
Day13 多态、抽象、接口

  1. 面向对象
    1.1 多态
    1.1.1 软件设计六大原则
    1 单一职责原则
    原则思想 : 一个方法只做一件事,一个类只负责一个职责,这样当前职责改动,不会对其他程序产生影响
    常识原则,几乎所有程序员都会遵循这个原则
    优点 : 降低类和类之间的耦合度,提高可读性,可维护性,可扩展性,降低可变性的风险

2 里氏替换原则
原则思想 : 能使用父类的地方,就一定可以使用子类
子类还可以扩展父类的功能,但是不能更改父类的功能,并且子类还可以有自己特有的功能
优点 : 增加了程序的健壮性,即使有了新的子类,原子类不受影响,可以正常执行
3 依赖倒置原则
原则思想 : 高层次不应该依赖低层次,都应该依赖于抽象
优点 : 拥抱多种变化,可以减少需求变化带来的工作量
4 接口隔离原则
原则思想 : 类和接口之间应该建立在最小接口上
5 迪米特法则
原则思想 : 又称为最少知识原则,一个对象尽可能的少了解其他对象
一个类中尽量减少对其他类的依赖
6 开闭原则
原则思想 : 对修改关闭,对扩展开放
尽量通过扩展软件实体来解决需求的变化,而不是通过修改已有的代码来完成变化

1.1.2 是什么
在这里插入图片描述

1.1.3 怎么用
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

1.1.4 为什么这么用(优点)在这里插入图片描述

1.1.5 缺点
丢失子类特有的属性
在这里插入图片描述

1.1.6 向下转型

在这里插入图片描述在这里插入图片描述

1.1.7 多态属性调用

在这里插入图片描述

1.1.8 比较隐秘的多态
在这里插入图片描述

1.2 抽象
1.2.1 概述

在这里插入图片描述
在这里插入图片描述

1.2.2 语法
在这里插入图片描述

1.2.3 注意
在这里插入图片描述

1.3 接口
1.3.1 概述
在这里插入图片描述

1.3.2 1.8接口新特性
在这里插入图片描述

1.3.3 怎么用

在这里插入图片描述在这里插入图片描述

多继承
在这里插入图片描述

多实现
在这里插入图片描述
1.4 Object
1.4.1 概述

在这里插入图片描述
在这里插入图片描述

目前仅学到 : equals , toString , hashCode , finalize

1 谁的方法
2 什么方法(成员还是静态)
3 方法的功能是什么,入参和出参是什么
4 什么时候需要重写(满足不了需求的时候)

1.4.2 Equals
在这里插入图片描述在这里插入图片描述

1.4.3 toString
在这里插入图片描述
在这里插入图片描述

1.4.4 Finalize
在这里插入图片描述
在这里插入图片描述

1.4.5 hashCode
在这里插入图片描述
在这里插入图片描述

1.5 类与类之间的关系
1 继承 使用extends表示
类A extends 类B{}
接口A extends 接口B,接口C{}
类和类之间是单继承,接口和接口之间是多继承

2 实现 implements
类A implements 接口B,接口C
类和接口是多实现

3 依赖
某个类中的方法的局部变量,是另一个类的对象引用
这种关系是临时性的,方法执行结束,关系就不存在了

4 关联
某个类的成员变量是另一个类对象的引用
这种关系一般是长期的

5 聚合
整体和局部可以分离,各自具备独立的生命周期
比如公司和员工

假如A需要保存B的引用,这个引用一般是调用处传递过来的,这样的话 调用处和A 都保存B的引用,此时就算A销毁了,B也不会销毁,因为还有其他引用指向

6 组合
组合的关系要强于聚合,又叫强聚合
同样是整体和局部,但是不可分离,局部没有独立的生命周期
比如A保存B的引用,一般这个引用是A自己创建的,这样的话,A每创建一个对象,都需要创建一个B的对象,此时A销毁之后,B也就销毁了,因为没有其他指向了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值