Java面向对象程序设计实验报告(实验五 接口的练习)

这篇具有很好参考价值的文章主要介绍了Java面向对象程序设计实验报告(实验五 接口的练习)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:命运之光 
专栏:Java面向对象程序设计实验报告

Java面向对象程序设计实验报告(实验五 接口的练习)

目录

✨一、需求设计

✨二、概要设计

✨三、详细设计

✨四、调试结果

✨五、测试结果

✨附录:源程序代码(带注释)

demo5类

Instrument类

Piano类

play类

Student类

Teacher类

Violin类

work类 


实验五 接口的练习

实验环境:Eclipse+JDK

实验目的:

  1. 掌握并理解面向对象的编程思想;
  2. 熟练掌握接口的定义及使用;
  3. 掌握实现类的特点及其使用。

实验内容:

1、模拟上课场景:创建教师类和学生类,两个类都实现了问候接口和工作接口,运行效果如下:

Java面向对象程序设计实验报告(实验五 接口的练习)

 

2、请使用接口编码实现如下需求:乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin).各种乐器的弹奏( play )方法各不相同。编写一个测试类InstrumentTest,要求:编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏。在main方法中创建不同的乐器对象,通过testPlay的弹奏测试方法进行测试。 


以下是实验报告内容

✨✨前言:由于五一假期导致最后一节Java上机实验课没有上,所以不是很清楚实验报告的具体要求,我就按照之前数据结构实验报告的格式写了这次的Java上级报告,有需要的还是直接复制粘贴就行了,不过这次我写的比较敷衍,自己要上交实验报告的话,最好还是稍微修改美化一下🦄。

✨一、需求设计

  1. 模拟上课场景:创建教师类和学生类,两个类都实现了问候接口和工作接口

2.使用接口编码实现如下需求:乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin).各种乐器的弹奏( play )方法各不相同。编写一个测试类InstrumentTest,要求:编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏。在main方法中创建不同的乐器对象,通过testPlay的弹奏测试方法进行测试。

✨二、概要设计

第一题设计3个类,一个测试类demo5,一个教师类Teacher,一个学生类Student。第二题设计一个接口乐器(Instrument),两个类分别为钢琴(Piano)类和小提琴(Violin)类,最后在设计一个测试类InstrumentTest用来测试。在乐器(Instrument)接口中定义方法testPlay,用钢琴(Piano)类和小提琴(Violin)类重写方法testPlay。

✨三、详细设计

创建一个接口work,定义两个抽象方法wenhou和gongzuo

public interface work {
    public abstract void wenhou();
    public abstract void gongzuo();
}

创建一个教师类Teacher实现work重写wenhou和gongzuo

public class Teacher implements work {
    public void wenhou()
    {
        System.out.println("mike:同学们好");
    }
    public void gongzuo()
    {
        System.out.println("mike:同学们开始做笔记");
    }
}

创建一个学生类Student实现work重写wenhou和gongzuo

public class Student implements work{
    public void wenhou()
    {
        System.out.println("peter:老师好");
    }
    public void gongzuo()
    {
        System.out.println("peter:老师开始上课");
    }
}

创建一个接口play,定义一个抽象方法testPlay。

public interface play {
    public abstract void testPlay();
}

创建一个钢琴(Piano)类实现play重写testPlay

public class Piano extends Instrument implements play{
    public void all()
    {
        System.out.println("我们都属于乐器");
    }
    public void testPlay()
    {
        System.out.println("钢琴:我是钢琴,我的弹奏方式独特优美");
    }
}

创建一个小提琴(Violin)类实现play重写testPlay

public class Violin extends Instrument implements play {
    public void all()
    {
        System.out.println("我们都属于乐器");
    }
    public void testPlay()
    {
        System.out.println("小提琴:我是小提琴,我的弹奏方式独特优美");
    }
}

✨四、调试结果

测试Teacher类,将同学们开始做笔记改成同学们开始听课,测试结果如下图所示:

Java面向对象程序设计实验报告(实验五 接口的练习)  

测试结果正确。

✨五、测试结果

测试结果如图所示:

Java面向对象程序设计实验报告(实验五 接口的练习) 

✨附录:源程序代码(带注释)

demo5类

package 命运之光;
public class demo5 {
    public static void main(String args[])
    {
        System.out.println("----------第一题----------");
        Teacher t=new Teacher();
        Student s=new Student();
        s.wenhou();
        t.wenhou();
        s.gongzuo();
        t.gongzuo();
        System.out.println("----------第二题----------");
        Piano p=new Piano();
        p.testPlay();
        Violin v=new Violin();
        v.testPlay();
    }
}

Instrument类

package 命运之光;
public abstract class Instrument {
    public abstract void all();
}

Piano类

package LiuShaoLong;
public class Piano extends Instrument implements play{
    public void all()
    {
        System.out.println("我们都属于乐器");
    }
    public void testPlay()
    {
        System.out.println("钢琴:我是钢琴,我的弹奏方式独特优美");
    }
}

play类

package 命运之光;
public interface play {
    public abstract void testPlay();
}

Student类

package 命运之光;
public class Student implements work{
    public void wenhou()
    {
        System.out.println("peter:老师好");
    }
    public void gongzuo()
    {
        System.out.println("peter:老师开始上课");
    }
}

Teacher类

package 命运之光;
public class Teacher implements work {
    public void wenhou()
    {
        System.out.println("mike:同学们好");
    }
    public void gongzuo()
    {
        System.out.println("mike:同学们开始听课");
    }
}

Violin类

package 命运之光;
public class Violin extends Instrument implements play {
    public void all()
    {
        System.out.println("我们都属于乐器");
    }
    public void testPlay()
    {
        System.out.println("小提琴:我是小提琴,我的弹奏方式独特优美");
    }
}

work类

package 命运之光;
public interface work {
    public abstract void wenhou();
    public abstract void gongzuo();
}

  点击下方个人名片,可添加博主的个人QQ,交流会更方便哦~
 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
文章来源地址https://www.toymoban.com/news/detail-455512.html

到了这里,关于Java面向对象程序设计实验报告(实验五 接口的练习)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【面向对象程序设计】账户类(Java、JavaFX)

    目录 版本1: 设计Account1类,包含: 设计测试类ATMMachine1: 版本2: 扩展Account1类为Account2类:   设计测试类ATMMachine2,其主菜单如下: 版本3: uml啥的找不到了,太久远了,有什么不懂得评论或者私聊问我吧。 ■ 一个名为id 的int 类型的私有数据域(默认值为0),长度为6位

    2024年02月08日
    浏览(25)
  • Java面向对象程序设计 - 清览云题库

    目录 清览题库1 清览题库2 清览题库3 清览题库4 清览题库5 1.   给出下列【代码】注释标注的代码的输出结果。 public class Example {    public static void main(String args[])  {       System.out.println(\\\"hello\\\"); //【代码】            } } 答案 hello 2.   给出下列【代码】注释标注的代码

    2024年02月08日
    浏览(33)
  • Java学习手册——第二篇面向对象程序设计

    第一章我们已经介绍了Java语言的基础知识,也知道他能干什么了, 那我们就从他的设计思想开始入手吧。 接触一个语言之前首先要知道他的大方向,设计思想是什么样的, 这样接触起来就知道基本原理,才能事半功倍。 迪克斯特拉(E.W.dijkstra)在 1965 年 提出结构化编程,

    2024年02月12日
    浏览(37)
  • [面向对象程序设计] 汽车租赁系统(Java实现)

    通过Java简单实现汽车租赁系统。 1)系统分为管理员和用户角色登录,不同的角色有不同的权限操作; 2)管理员功能:查看、添加、修改和删除车辆信息,查看营业额; 3)用户功能:登录后,可以查看车辆、租车、换车,模拟付款等; 查看车辆:查看可租/已租车辆;特定

    2023年04月21日
    浏览(30)
  • 面向对象程序设计(Java)课程设计——学生信息管理系统(GUI+文件)

    一、团队成员及任务 组长:宗庆亮  计科(智能)22-1  202203200021 负责模块:静态登录界面实现以及学生信息系统管理界面的创建 组员:郑金洲  计科(智能)22-1  202203200022 负责模块:增加,删除,修改以及查询功能的实现 团队博客:面向对象程序设计(Java)课程设计——学生

    2024年02月03日
    浏览(41)
  • 《Java面向对象程序设计》学习笔记——CSV文件的读写与处理

    ​笔记汇总: 《Java面向对象程序设计》学习笔记 笔记记录的不是非常详实,如果有补充的建议或纠错,请踊跃评论留言!!! CSV 是英文 comma-separated values 的缩写,翻译为 “逗号分隔值“。 CSV 文件可以理解为以带逗号分隔(也可以是其他简单字符分割)的纯文本形式存储

    2024年02月10日
    浏览(38)
  • [ XJTUSE ]JAVA语言基础知识——第一章 面向对象程序设计思想

    类描述了一组有相同 特性 (属性)和相同 行为 (方法)的对象,类和对象是面向对象思想的两个核心概念 · 人类是一种类,每一个具体的人则是这个类的对象 用面向对象程序来模拟真实世界 发现并创建类 发现类的特征 发现类的行为 在面向对象程序中,对象的特征由各种

    2023年04月13日
    浏览(45)
  • 《Java面向对象程序设计》学习笔记——第 12 章 输入流与输出流

    ​笔记汇总: 《Java面向对象程序设计》学习笔记 File 对象主要用来获取文件本身的一些信息,例如文件所在的目录、文件的长度和文件的读/写权限等,不涉及对文件的读/写操作。 创建 File 对象的构造方法有以下 3 个: 其中, filename 是文件名字 ,directoryPath 是文件的路径,

    2024年02月11日
    浏览(22)
  • 面向对象程序设计

    【面向对象程序设计】(OOP)与【面向过程程序设计】在思维方式上存在着很大的差别。【面向过程程序设计】中,算法是第一位的,数据结构是第二位的,这就明确地表述了程序员的工作方式。首先要确定如何操作数据,然后再决定如何组织数据,以便于数据操作。而【面

    2023年04月13日
    浏览(29)
  • C++《面向对象程序设计课程设计》

    《面向对象程序设计课程设计》课程说明 适用专业:计算机科学与技术 课程周数:5周 一、根据计算机科学与技术专业人才培养方案制订。 (一)课程设计性质 课程设计是学生对课程所学知识的综合运用,它与课堂听讲、上机实验、课外练习、自学研究相辅相成,构成一个

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包