实验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