第一范文网 - 专业文章范例文档资料分享平台

东北大学软件学院2015级面向对象实验报告

来源:用户分享 时间:2025/8/9 2:32:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

课程编号:B080103110

面向对象程序设计

实验报告

姓班实开开报评验设设告定名学时日成名 级 称 期 间 期 绩 XXX 软件XXXX 学指导教号 师 XXX XXX 面向对象程序设计实验报告 2016-2017第一学期 第5周——第8周 11月8日 评评定定日人 期

东北大学软件学院

实验一

一、 实验目的

增强对Java的理解,掌握Java中如何写一个方法,以及方法对于一个类要实现其功能的重要性,借助方法,类可以完成需要的功能。同时,学会方法的返回值相关知识。

二、实验内容

在Product类中,添加变量code、description、price,完成方法StringgetCode(),String getDescription(),double getPrice(),boolean equals(Object object),tring toString()以及构造方法Product();

在Coffee类中,添加变量origin, roast, flavor, aroma, acidity, body,完成方法public String getOrigin().public String getRoast(). public String getFlavor().public String

getAroma().public String getAcidity().public String getBody().String toString().以及构造方法Coffee()

在CoffeeBrewer类中,添加model.waterSupply.numberOfCups.完成方法String getModel(),String getWaterSupply().int getNumberOfCups().?String toString().以及构造方法CoffeeBrewer(String initialCode,String initialDescription, double initialPrice,String initialModel,String initialWaterSupply,int initialNumberOfCups)

在OrderItem类中,添加变量product、quantity完成方法Product getProduct() int getQuantity().void setQuantity(int newQuantity) double getValue() String toString().以及构造方法public OrderItem(Product initialProduct,int initialQuantity)

三、实验步骤

(1) 要完成方法需要知道各种方法的返回类型?好在实验指导书已经给出。

(2) 不利用实验指导书的前提下,要获得返回类型,可以通过阅读测试类,找到测试语句,根据测试语句的实参数据类型来获得方法返回值的数据类型。当然有些以void返回无需查阅。

(3) public String getCode() {

returnthis.code;}各种方法的实现大同小异。

(4) 根据实际需要,需要用方法来返回该类(对象)中的属性值。即通过方法的返回值来获得。

(5) 在Product类中,方法:

publicboolean equals(Product arg0) {

boolean m;

if (arg0.getCode() == this.getCode()) { }

return m; }

在实现该方法中,一开始利用code来判断该product对象是否真的存在,对于如何判断不太懂,后经咨询老师,以及细心理解测试类才明白应该这么做。

m = true; m = false; } else {

四、实验结果

(1) 测试结果:

Testing class Product...(其他类与此类似) Done(测试成功)

五、实验总结

收获:面向对象的程序设计,其核心就是通过类,来实现要完成的功能,当然,类需要用变量以及方法来丰富其功能。

实验二

一、实验目的

对于Java中implements的了解并掌握。学会如何使用ArrayList集合以及迭代器Iterable

二、实验内容

实现下列四个类Catalog Order Sales GourmetCoffee 分别完成变量和方法:

Catalog中,products集合ArrayList

构造方法Catalog(),以及方法void addProduct(Product product),

Iteratoriterator(),Product getProduct(String code),int getNumberOfProducts(),根据实验指导书来完成相应功能。

分别完成变量和方法:

Order中,items集合ArrayList

构造方法Order(),以及方法void addItem(OrderItem orderItem),void

removeItem(OrderItem orderItem),Iteratoriterator(),OrderItem getItem(Product product),int getNumberOfItems(),double getTotalCost()根据实验指导书来完成相应功能。

分别完成变量和方法:

Sales中,orders集合ArrayList 构造方法public Sales()

public void addOrder(Order order) public Iteratoriterator()

public int getNumberOfOrders()根据实验指导书来完成相应功能。 GourmetCoffee中,完成方法displayNumberOfOrders and

displayTotalQuantityOfProducts并最终完成一个界面输出的功能。添加变量catalog ,currentOrder,sales。

三、实验步骤

(1)

以Catalog为例,

return?;

public Iterator iterator() {

}对于应该返回什么不是很清楚。

public Product getProduct(String code) {returnnull;}怎么实现利用code

来获得一个Product对象呢?

(2) 第一次使用迭代器来实现功能,首先查阅JDK开发文档,Iterator中有几个常见

的方法,了解其用法之后对于怎么用迭代器来设计方法有了了解,用于遍历一个集合或数组。

利用code来获得一个Product对象,首先需要对Product的方法有所了解,利用迭代器将存放Product对象的集合进行遍历,并将符合要求的Product返回。

(3) public Iterator iterator() {

public Product getProduct(String code) { }

for (Iterator iterator = products.iterator(); iterator }

returnnull;

.hasNext();) {

Product product = iterator.next(); if (product.getCode().equals(code)) { }

returnproduct;

}

returnproducts.iterator();

(4) 主要就是利用迭代器遍历一个集合,并将集合中的对象循环得到,通过判断是否符合要求,将目的对象找到并返回。

(5) Iterator类中的方法的使用,第一次使用java中的迭代器,不是很熟练。通过小练习,熟练了其中的hasnext,next等方法之后,编写此方法就会得心应手一些。

四、实验结果

(1) 测试截图

各种选择出现的结果:

东北大学软件学院2015级面向对象实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8kq404klyj1xep036fj71ujtp7zqyg019g8_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top