JAVA第六次实验报告-接口_第1页
JAVA第六次实验报告-接口_第2页
JAVA第六次实验报告-接口_第3页
JAVA第六次实验报告-接口_第4页
JAVA第六次实验报告-接口_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一实验一 1 实验题目实验题目 体操比赛计算选手成绩的办法是去掉一个最高分和一个最低分再计算平均分 而学校 考察一个班级的某科目的考试情况时 是计算全班学生的平均成绩 Gymnastics 类和 School 类都实现了 ComputerAverage 接口 但实现方式不同 2 程序代码程序代码 interface ComputerAverage public double average double x class Gymnastics implements ComputerAverage public double average double x int count x length double aver 0 temp 0 for int i 0 i count i for int j i j count j if x j x i temp x i x i x j x j temp for int i 1 i2 aver aver count 2 else aver 0 return aver class School implements ComputerAverage public double average double x int count x length double aver 0 for int i 0 i0 aver aver count return aver public class Estimator public static void main String args double a 9 89 9 88 9 99 9 12 9 69 9 76 8 97 double b 89 56 78 90 100 77 56 45 36 79 98 ComputerAverage computer computer new Gymnastics double result computer average a computer 调用 average double x 方法 将数组 a 传递给参数 x System out printf n System out printf 体操选手最后得分 5 3f n result computer new School result computer average b computer 调用 average double x 方法 将数组 b 传递给参数 x System out printf 班级考试平均分数 5 2f n result 3 实验结果实验结果 4 实验分析实验分析 一个类可以实现多个接口 类通过使用关键字 implements 声明自己实现一个或多个接 口 如果一个非抽象类实现了某个接口 那么这个类必须重写该接口的所有方法 5 实验练习实验练习 School 类如果不重写 public double aversge double x 方法 程序编译时提示怎样的错误 答 SChool 不是抽象的 并且未覆盖 ComputerAverage 中的抽象方法 实验二实验二 1 实验题目实验题目 货车要装载一批货物 货物由三种商品组成 电视 计算机和洗衣机 卡车需要计算 出整批货物的重量 2 实验代码实验代码 interface ComputerWeight public double computerWeight class Television implements ComputerWeight public double computerWeight return 3 5 class Computer implements ComputerWeight public double computerWeight return 2 67 class WashMachine implements ComputerWeight public double computerWeight return 13 8 class Truck ComputerWeight goods double totalWeights 0 Truck ComputerWeight goods this goods goods public void setGoods ComputerWeight goods this goods goods public double getTotalWeights totalWeights 0 for int i 0 i goods length i totalWeights totalWeights goods i computerWeight return totalWeights public class CheckCarWeight public static void main String args ComputerWeight goods new ComputerWeight 650 装载 650 件货物 for int i 0 i goods length i 分成三类 if i 3 0 goods i new Television else if i 3 1 goods i new Computer else if i 3 2 goods i new WashMachine Truck truck new Truck goods System out printf n 货车装载的货物重量 8 5f kg n truck getTotalWeights goods new ComputerWeight 68 68 件货物 for int i 0 i goods length i 分成两类 if i 2 0 goods i new Television else goods i new WashMachine truck setGoods goods System out printf 货车装载的货物重量 8 5f kg n truck getTotalWeights 3 实验结果实验结果 4 实验分析实验分析 接口回调是指 可以把使用某一接口的类型创建的对象引用赋给该接口声明的接口变 量中 那么该接口变量就可以调用被实现的接口中的方法 当接口变量调用被类实现 的接口中的方法时 就是通知相应的对象调用接口的方法 这一过程成为对象功能的 接口回调 接口的方法不一定相同 接口回调可能产生不同的行为 5 实验练习实验练习 请在实验基础上再编写一个实现 ComputerWeight 接口的类 比如 Refrigerrator 这样一来 货车装载的货物中就可以有 Refrigerrator 类型的对象 当系统增加一个实现 ComputerWeight 接口的类后 Truck 类需要进行修改吗 答 代码 class Refrigerrator implements ComputerWeight public double computerWeight return 12 8 实验三实验三 1 实验题目实验题目 小狗在不同环境条件下可能呈现不同的状态表现 要求接口封装小狗的状态 具 体要求如下 1 编写一个接口 DogState 该接口有一个名为 void showState 方法 2 编写一个 Dog 类 该类中有一个 DogState 接口声明的变量 state 另外 该 类有一个 show 方法 在该方法中让接口 state 回调 showState 方法 3 编写若干个实现 DogState 接口的类 负责刻画小狗的各种状态 4 编写主类 在主类中实现测试小狗的各种状态 2 程序代码程序代码 interface DogState public void showState class SoftlyState implements DogState public void showState System out println 听主人的命令 class MeetEnemyState implements DogState public void showState System out println 狂叫 并冲过去狠咬敌人 class MeetFriendState implements DogState public void showState System out println 晃动尾巴 表示欢迎 class MeetAnotherdogState implements DogState public void showState System out println 嬉戏 class Dog DogState state public void show state showState public void setState DogState s state s public class CheckDogState public static void main String args Dog yellowDog new Dog System out print 狗在主人面前 yellowDog setState new SoftlyState yellowDog show System out print 狗遇到敌人 yellowDog setState new MeetEnemyState yellowDog show System out print 狗遇到朋友 yellowDog setState new MeetFriendState yellowDog show System out print 狗遇到同类 yellowDog setState new MeetAnotherdogState yellowDog show 3 实验结果实验结果 4 实验分析实验分析 面向接口编程是指当设计某种重要的类时 不让该类面向具体的类 而是面向接 口 即所设计中的重要数据是接口声明的变量 而不是具体声明的对象 5 实验练习 实验练习 用面向接口的思想编写一个程序 模拟水杯中的水在不同温度下可能出现的状态 代码 interface WaterState public void showState class SubzeroState implements WaterState public void showState System out println 结冰 class NormalState implements WaterState public void showState System out println 冰冷或凉快 class HotState implements WaterState public void showState System out println 有热气冒出 温热 class BoiledState implements WaterState public void showState System out println 沸腾 烫 class Water WaterState state public void show state showState public void setState WaterState s state s public class CheckWaterState public static void main String args Water cupWater new Water System out print 水杯中的水在零下时 cupWater setState

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论