第一次Blog作业 21201112 李夏楠

五次雨刷作业总结

  这五次的雨刷作业的主要目的,是让我们对 Java 编程有一个初步的了解,包括

       1、类的声明和构造方法、方法的调用、参数传递、对象的构造与使用  

  2、类和类之间的五种基本关系(关联、聚合、组合、依赖、继承)

  3、Java的七大设计原则(单一职责原则、迪米特法则、里氏代换原则、合成复用原     

    则、依赖倒转原则、开闭原则、接口隔离原则)

  4、private、public等关键的使用场合与使用方法

  5、Java语言中继承的基本概念及使用方法

  5、单例模式的使用

 

第一次作业:

Task:

 使用Java语言对上述雨刷问题进行编程模拟完成司机对雨刷系统的控制及测试

 设计思路:

在一个类中,写出多个方法,再由主方法调用其他方法,完成司机对雨刷系统的控制。

类图如下:

缺点: 

只有一个类,无法完成单一职责原则。

 

第二次作业:

Task:

重构第一次的雨刷问题,需求不变,采用面向对象技术,合理设计实体类、业务(控制)类、接口类及各个类之间的关系,务必符合SRP(Single Responsibility Principe,单一职责原则)

设计思路:

设计 雨刷类,控制类,挡位类,刻度类,键盘输入类 以完成单一职责

类图如下:

 

 

 第三次作业:

Task:

重构第二次作业雨刷问题,需求不变,采用面向对象技术,合理设计实体类、业务(控制)类、接口类及各个类之间的关系,符合SRP(Single Responsibility Principe,单一职责原则)以及Demeter法则(Law of Demeter).

设计思路:

增加司机类,用来调用挡位和刻度的增减

类图如下:

 

 

 第四次作业:

Task:

重构第三次作业雨刷问题,需求不变,设计必须符合MVC模式,尝试嵌入单列模式。

设计思路:

增加View类,负责所以的输入与输出

利用上图方法,实现单列模式。

类图如下:

 

 第五次作业:

Task:

重构第四次作业雨刷问题,需求变更为该系统可以适用多种雨刷系统,采用面向对象技术,合理设计实体类、业务(控制)类、接口类、各个类的抽象父类以及相互的关系,符合SRP(Single Responsibility Principe,单一职责原则)、Demeter法则。

设计思路:

通过为挡位类,控制类,刻度类设置父类,以实现系统适应多种雨刷系统和代码的复用。

类图如下:

 

 

 

PTA作业总结

 

1、日期问题面向对象设计(聚合一)

Task:

 

2、日期问题面向对象设计(聚合二)

Task:

总结:这两次的作业都是是根据类图写代码。每个对象里的方法都有相似之处,但是对象之间的调用有很大不同。第一次是通过DateUtil调用Day,Day调用Month,Month调用Year。第二次则是通过DateUtil分别调用Day、Month、Year达到目的。两次的调用不一样,但都是解决了同一个问题,给了人两种不同的思路。

第一次中Day的构造函数中调用了Month的构造函数,给了新的思路。

 

 3、串口字符解析

Task:

RS232是串口常用的通信协议,在异步通信模式下,串口可以一次发送5~8位数据,收发双方之间没有数据发送时线路维持高电平,相当于接收方持续收到数据“1”(称为空闲位),发送方有数据发送时,会在有效数据(5~8位,具体位数由通信双方提前设置)前加上1位起始位“0”,在有效数据之后加上1位可选的奇偶校验位和1位结束位“1”。请编写程序,模拟串口接收处理程序,注:假定有效数据是8位,奇偶校验位采用奇校验。

总结:了解到字符串的使用方式,学习从字符串中提取字符和字符串,比较两个字符串是否相等。

posted @ 2022-04-01 15:39  李mini白  阅读(47)  评论(0)    收藏  举报