面向对象之设计模式,四种内部类,类关系

面向对象

1. 类关系

继承 使用extends表示,类和类单继承,接口和接口多继承,多个逗号隔开

又叫泛化关系

实现 类和接口是多实现关系,多个逗号隔开,通过关键字 implements表示

依赖 一个类中的局部变量 ,保存了另一个类对象

关联 又叫强依赖,一个类中的成员变量,是另一个类对象

聚合 整体和局部可以分离,各自具备独立的生命周期

比如 A要保存B的引用,这个引用一般是别人给的,或传递的,反正不是自己创建的

比如工厂模式,或者Spring中的IOC DI注入

组合 整体和局部不可分离,局部不具备独立生命周期

比如 A要保存B的引用,这个引用一般是自己创建的

那么A销毁后,B也会随之销毁,成员垃圾数据

2. 内部类

2.1 概述

类中创建的类

如果学生类需要保存老师,而老师就是一个完整的结构

一般我们会存储老师的对象就行

但是如果老师类,是公共的,就意味着在任何地方都可以使用老师类

而我们只想让这个老师类给学生类使用,不想给别的类使用,就把老师类弄成内部类

2.2 分类

成员内部类 等同看做成员变量

静态内部类

局部内部类

匿名内部类

2.3 成员内部类

2.4 静态内部类

2.5 局部内部类

2.6 匿名内部类

3. 设计模式

3.1 概述

3.2 单例模式

3.2.1 饿汉模式
3.2.2 懒汉模式

.(img-v1PKBsFP-1722600349283)]

3.2.1 饿汉模式

外链图片转存中...(img-50TjaZOn-1722600349284)

3.2.2 懒汉模式
相关推荐
程序员爱钓鱼1 分钟前
Go语言实战案例 — 工具开发篇:编写一个进程监控工具
后端·google·go
一只乔哇噻25 分钟前
java后端工程师进修ing(研一版‖day44)
java·开发语言·学习·算法
老华带你飞32 分钟前
畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·畅阅读系统小程序
canonical_entropy1 小时前
不同的工作需要不同人格的AI大模型?
人工智能·后端·ai编程
青草地溪水旁1 小时前
设计模式(C++)详解——建造者模式(1)
c++·设计模式·建造者模式
IT_陈寒1 小时前
Vite 5.0 终极优化指南:7个配置技巧让你的构建速度提升200%
前端·人工智能·后端
小熊学Java1 小时前
基于 Spring Boot+Vue 的高校竞赛管理平台
vue.js·spring boot·后端
卓码软件测评3 小时前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
钢门狂鸭6 小时前
关于rust的crates.io
开发语言·后端·rust
念何架构之路7 小时前
Go语言设计模式(七)组合模式
设计模式·组合模式