首页 > 编程语言 >9.14UML与面向对象程序设计原则

9.14UML与面向对象程序设计原则

时间:2025-01-02 15:19:00浏览次数:1  
标签:关系 String color 9.14 面向对象 UML public

 

实验1:UML与面向对象程序设计原则

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、掌握面向对象程序设计中类与类之间的关系以及对应的UML类图;

2、理解面向对象程序设计原则。

 
   

 


[实验任务一]:UML复习

阅读教材第一章复习UML,回答下述问题:

面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。

一、   继承

继承关系表示一个类继承另一个类的属性和方法。例如,狗是一种动物,狗类继承动物类的一些属性和方法。

 

 

二、     关联关系

 

关联关系表示两个类之间存在某种语义上的联系。例如,一个学生和一个课程之间存在关联关系,因为学生需要选择课程进行学习。

 

三、       聚合关系

 

聚合关系是一种特殊的关联关系,表示整体与部分的关系,但是部分可以脱离整体而独立存在。例如,汽车和轮胎之间是聚合关系,轮胎可以从汽车上拆卸下来单独存在。

 

四、       组合关系

组合关系也是整体与部分的关系,但与聚合关系不同的是,部分不能脱离整体而独立存在。例如,人和心脏之间是组合关系,心脏不能离开人而单独存在。

 

五、       依赖关系

依赖关系表示一个类的变化会影响另一个类。例如,一个汽车驾驶员依赖于汽车才能驾驶

 

[实验任务二]:单一职责原则

登录模块在实际项目开发中很常见,请按照教材28页(PPT49页)利用单一职责原则重构后的类图实现这一模块。

实验要求:

1.提交源代码和对应的数据库文件(注意将此模块保存,以备以后使用);

2.注意编程规范。

 

create database ems;
use  ems;
--
创建用户表
drop table users;
CREATE DATABASE ems;

USE ems;

CREATE TABLE users (
                       id INT AUTO_INCREMENT PRIMARY KEY,
                       username VARCHAR(50) NOT NULL,
                       password VARCHAR(255) NOT NULL,
                      );

 

 

 

[实验任务三]:依赖倒转原则与合成复用原则

在一画图软件中提供了多种大小不同的画笔,并且可以给画笔指定不同的颜色,某设计人员对画笔进行了如上图所示的设计。通过分析,可以发现增加画笔的种类和颜色会使得系统中类的数目急剧增加,请根据合成复用原则和依赖倒转原则对上述设计进行重构。

实验要求:

1.提交源代码;

2.画出重构后的类图。

1.public interface Pen {

    void draw();

}

public abstract class AbstractPen implements Pen {

    protected String size;

    protected String color;

 

    public AbstractPen(String size, String color) {

        this.size = size;

        this.color = color;

    }

 

    @Override

    public void draw() {

      

    }

}

public class SmallPen extends AbstractPen {

 

    public SmallPen(String color) {

        super("small", color);

    }

 

    @Override

    public void draw() {

        System.out.println("Drawing with small pen of color " + color);

    }

}

 

public class MiddlePen extends AbstractPen {

 

    public MiddlePen(String color) {

        super("middle", color);

    }

 

    @Override

    public void draw() {

        System.out.println("Drawing with middle pen of color " + color);

    }

}

 

public class BigPen extends AbstractPen {

 

    public BigPen(String color) {

        super("big", color);

    }

 

    @Override

    public void draw() {

        System.out.println("Drawing with big pen of color " + color);

    }

}

 

2.

 

标签:关系,String,color,9.14,面向对象,UML,public
From: https://www.cnblogs.com/jais/p/18647827

相关文章

  • plantuml---可编程实现的画图工具(让图看上去很专业)
     经常看到有的ppt中有非常专业的图,非常整齐、简洁、清晰,于是经过一番查找和交流得知,有一款开源工具plantuml,能够实现此类效果。特记录之。个人感觉这个软件的2大优势是:可代码编程,可版本管理(因为是代码实现的)1、plantuml的官网:https://plantuml.com2、通过在VSCode......
  • 面向过程 & 面向对象 回顾方法 20241231
    面向过程&面向对象20241231面向过程思想步骤清晰简单,第一步做什么,第二步做什么.….面对过程适合处理一些较为简单的问题(线性思维)面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程......
  • 宠物照料模块项目UML图
    ......
  • UML之泛化、特化和继承
    在UML(统一建模语言)中,泛化(Generalization)和特化(Specialization)是面向对象思想中继承(Inheritance)关系的重要概念,它们描述类与类(或用例与用例、参与者与参与者等)之间的一般与特殊的关系。泛化是一种表示类之间继承关系的方式,它指定了子类如何特化超类(父类)的所有特征和行为。在UML中,......
  • UML之关联
    关联指两个类之间的各种联系。UML使用各种单实线表示关联,这个单实线可以是直线(垂直的、水平的或者倾斜的)、折线甚至曲线。事实上,关联也是展示类的属性的另一外的一种形式。例如在下图中,我们通过一条实线连接类Book和类Person,表示它们之间存在关联。在关联的末端,标出多重性[*]......
  • UML图
    用例图(UseCaseDiagram):描述系统功能及其与外部用户(角色)的交互关系。用于识别系统的用例,以便了解系统的需求。类图(ClassDiagram):显示系统中的类、属性、方法以及类之间的关系(如继承、关联等)。用于静态结构设计,是面向对象设计的核心图表。顺序图(SequenceDiagram):......
  • UML之组合与聚合
    关联和链接关系在很多情况下是对称的,即被关联的两个类都有以自己为源端对方为目标端的角色存在,而且角色与源端类的属性是等价的,即在关联一端的关联端(角色)等价于另外一端的属性。例如,在下图中,我们可以认为author:Person是类Book的一个属性,而myBooks:Person是类Person的一个属性。......
  • UML类图
    在UML(统一建模语言)中,类是最基本的构造块之一,用于描述系统中的实体以及它们之间的关系。类图(ClassDiagram)展示了系统中类的结构,包括类名、属性、操作(方法)以及类之间的关系。一个典型的类在UML中的表示通常如下所示:+------------------+|类名|+------------------+|......
  • 面向对象程序设计中类与类的关系
    面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。1.继承(Inheritance)假设有一个Animal类,定义了一些基本的行为如eat()。Dog类继承自Animal类,并可能添加特定于狗的行为如bark()。+----------------+| Animal       ||-eat()       |+-......
  • 2024-12-12《UML类图》
    UML九图  1.类图类图(ClassDiagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程序。类图描述......