栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java设计模式】设计原则,类图

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java设计模式】设计原则,类图

文章目录
    • 面向对象的几个基本原则
        • 面向抽象原则:
        • 开-闭原则
        • 多用组合少用继承原则
        • 高内聚-低耦合原则
    • UML类图

命令模式
观察者模式
装饰模式

设计模式是从许多优秀的软件系统中总结成功的可复用的设计方案
设计模式的分类:创建型,行为型,结构型

面向对象的几个基本原则 面向抽象原则:

抽象类(abstract):extends

  • 抽象类中可以有abstract方法,也可以有非abstract方法
  • 抽象类不能用new运算符创建对象
  • 如果一个非抽象类是一个抽象类的子类,那么它必须重写父类的abstract方法
  • 作为上转型对象

接口(interface):implements

  • 接口中只可以有public权限的abstract方法,不能有非abstract方法
  • 接口由类去实现,及一个类如果实现一个接口,那么它必须重写接口中的abstract方法
  • 接口回调,向上转型
  • 接口允许多继承,类只能单继承

面向抽象编程

  • 是指当设计一个类时,不让该类面向具体的类,而是面向抽象类型接口,即所设计类中的重要数据是抽象类或接口声明的变量,而不是具体类声明的变量。
开-闭原则

让设计对扩展开放,对修改关闭。
面对需求的变化,对程序的修改应该是尽可能通过添加代码来实现,而不是通过修改代码来实现

多用组合少用继承原则

方法复用的两种最常用技术就是类继承和对象组合

  • 类继承:程序代码复用extends
    Java不支持多重继承,一个类只能有一个直接父类
    Java中有一个Java.lang.Object类,所有类都直接或间接的继承该类
    重写(覆盖):重写父类里同名的方法的功能@Override
    重载:重载指的是不用的函数使用相同的函数名字
    通过继承来复用父类的方法的缺点:
    1.无法在运行期间改变从父类继承方法的行为
    2.子类和父类之间强耦合
    3.“白盒复用”。父类内部细节对子类是可见的

  • 组合:一个类可以把对象作为自己的成员变量,即将其他对象作为自己的组成部分

高内聚-低耦合原则

高内聚:类中的方法是一组相关的行为(反之则为低内聚)
低耦合:尽量不要让一个类含有太多其他类 的实例引用,以避免修改系统的其中一部分会影响到其他部分

UML类图


可见性:共有public(+),私有private(-),受保护protected(#)

类间关系:

  • 关联 Association
    如果A类中成员变量是用B类(接口)来声明的变量,那么A和B的关系是关联关系,称A关联于B。那么UML通过使用一个实线连A和B的UML图,实线的起始端是A的UML图,终点端是B的UML图,但终点端使用一个指向B的UML图的方向箭头表示实线的结束 。

  • 泛化(继承)Generalization
    如果一个类是另一个类的子类,那么UML通过使用一个实线连接两个类的UML图来表示二者之间的继承关系,实线的起始端是子类的UML图,终点端是父类的UML图,但终点端使用一个空心的三角形表示实线的结束 。

  • 依赖 Dependency
    如果A类中某个方法的参数用B类(接口)来声明的变量或某个方法返回的数据类型是B类型的,那么A和B的关系是依赖关系,称A依赖于B。那么UML通过使用一个虚线连A和B的UML图,虚线的起始端是A的UML图,终点端是B的UML图,但终点端使用一个指向B的UML图的方向箭头表示虚线的结束。

  • 实现 Realization
    如果一个类实现了一个接口,那么类和接口的关系是实现关系,称类实现接口。UML通过使用虚线连接类和它所实现的接口,虚线起始端是类,虚线的终点端是它实现的接口,但终点端使用一个空心的三角形表示虚线的结束 。

  • 注释 Annotation
    UML使用注释为类图提供附加的说明。UML在一个带卷角的长方形中显示给出的注释,并使用虚线将这个带卷角的长方形和所它所注释的实体连接起来 。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/846805.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号