博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验二Java面向对象程序设计实验报告(2)
阅读量:5280 次
发布时间:2019-06-14

本文共 1497 字,大约阅读时间需要 4 分钟。

实验二 Java面向对象程序设计

实验概述:
课程:程序设计与数据结构 班级:1623班
姓名: 邢天岳 学号:2309
指导老师:娄老师 王老师 实验日期:2017.4.16
实验名称: Java面向对象程序设计

实验内容:

  1. 初步掌握单元测试和TDD
  2. 理解并掌握面向对象三要素:封装、继承、多态
  3. 初步掌握UML建模
  4. 熟悉S.O.L.I.D原则
  5. 了解设计模式

实验要求:

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程
2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导

  1. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。
  2. 请大家先在实验楼中的~/Code目录中用自己的学号建立一个目录,代码和UML图要放到这个目录中,截图中没有学号的会要求重做,然后跟着下面的步骤练习。
    实验步骤:
    (一)单元测试
    (1)在新建的MyUtil类里完成对百分制转化伪代码的编译,并用测试代码对编译完成的代码进行测试。其中需要注意当输入的成绩低于0或者高于100时对输出结果的编译要注意。
    (2) TDD(Test Driven Devlopment, 测试驱动开发),前面的例子,我们先写产品代码,然后再写测试代码。打开Eclipse,单击File->New->Java Project新建一个TDDDemo的Java项目,在TDD的环境下进行测试,并修改代码中的错误,完成编译。
    1066526-20170416155016837-1817310565.jpg
    (二)Java三要素的学习
    Java的三要素为继承、封装和多态,在本实验中,以狗(Dog)这个类为例,通过UML类图清晰直观地将要素进行体现,面向对象的思想涉及到软件开发的各个方面,如面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程实现(OOP)。OOA根据抽象关键的问题域来分解系统,关注是什么(what)。OOD是一种提供符号设计系统的面向对象的实现过程,用非常接近问题域术语的方法把系统构造成“现实世界”的对象,关注怎么做(how),通过模型来实现功能规范。OOP则在设计的基础上用编程语言(如Java)编码。贯穿OOA、OOD和OOP的主线正是抽象。
    OOD中建模会用图形化的建模语言UML(Unified Modeling Language),UML是一种通用的建模语言,我们实验中使用umbrello进行建模,Windows中推荐大家使用 StarUML。
    过程抽象的结果是函数,数据抽象的结果是抽象数据类型(Abstract Data Type,ADT),类可以作具有继承和多态机制的ADT。数据抽象才是OOP的核心和起源。
    下图为Dog类图的实例:
    1066526-20170416155433290-123287743.png
    (三)设计模式初步
    (1)S.O.L.I.D原则:主要是对五个原则进行深刻地记忆和理解,配合课件进行实例化的学习,通过类图化抽象为具体。
    (2)模式与设计模式:这是实验的一个重点,通过计算学号来抽取自己需要对MyDoc类进行的补充,在此实验中,抽象类的应用包括工厂模式的方便之处得以体现。
    1066526-20170416160015071-980655934.png
    Long类的代码截图:
    1066526-20170416160159618-1059422568.png
    (四)练习
    在TDD环境下完成对复数Complex类的编写,并在idea环境下测试。

说着说着它又出现了,好吧这次我写了两份实验报告。。。

转载于:https://www.cnblogs.com/Metwox/p/6718857.html

你可能感兴趣的文章
rest-framework之权限组件
查看>>
19.unicode在python中的运用
查看>>
总结移动端页面开发时需要注意的一些问题
查看>>
servlet中 getRealPath deprecated(被废弃)
查看>>
招聘,项目管理相关
查看>>
UIScreen的scale属性
查看>>
Oracle Scheduler - Postponed job
查看>>
Arduino编程器 USBasp USBtinyISP FT232-ISP 对比 区别
查看>>
高频焊台源码,改进版V2
查看>>
宝塔面板安装的mysql5.5用命令行kill -9后启动不了
查看>>
Android(java)学习笔记118:BroadcastReceiver之 外拨电话的广播接收者
查看>>
Android(java)学习笔记165:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例的优化:请求码和结果码)...
查看>>
Eclipse导入工程遇到的一些问题之中文乱码
查看>>
leetcode[132]Palindrome Partitioning II
查看>>
leetcode[71]Simplify Path
查看>>
窗口的切换
查看>>
[LeetCode 063] Unique Paths II
查看>>
团队项目测评博客
查看>>
discuz 文件模板edit
查看>>
Android 4.0通过新的特性统一了平板电脑与手机
查看>>