实验三 面向对象(二)(预习报告)

面向对象——Java实验报告

实验三: Java面向对象(二)

实验三 面向对象(二)(预习报告)

<center> 
<strong>姓名:</strong> 
<u>XXX</u> 
&emsp;&emsp;
<strong>班级:</strong> 
<u>XXXXX</u> 
&emsp;&emsp;
<strong>学号:</strong>
<u>XXXXXXXXXXXX</u></center>

一、实验目标

  (1)能够运用Java语言来实现类的继承及多态性、熟练使用包来扩展程序功能并能建立自己的包;

  (2)能够灵活运用Java语言的抽象方法、接口、抽象类来编写应用程序解决实际问题。

二、实验环境

IntelliJ IDEA Community Edition 2021.1 x64 + openjdk-16.0.1

三、实验准备

  1. 设计一个抽象类图形类,在该类中包含有至少三个抽象方法,分别用于求周长、求面积,以及对图形进行描述(如,“这是**形状,周长是**,面积是**”),分别定义圆形类、长方形类、等边三角形类来继承图形类,实现上述三个方法,并创建实例验证。

问题分析: 由题可得出以下结构

abstract class Shape { //抽象类图形类
    public abstract double calculatePerimeter (); //周长
    public abstract double calculateSquare ();    //面积
    public abstract void describe ();}            //描述  
class Round extends Shape {  //圆形类
 @Override
    public double calculatePerimeter() ;    
    @Override
    public double calculateSquare() ;
    @Override
    public void describe() ;}
   // 长方形类和等边三角形类操作同上
  1. 定义一个抽象接口Lecture,接口中至少有两个抽象方法talk()homework(),分别定义Student类与Teacher类实现Lecture接口,Student类的talk()方法用于模拟学生回答问题,Teacher类的talk()方法用于模拟老师提出问题,Student类的homework ()方法用于模拟学生写作业,Teacher类的homework ()方法用于模拟老师布置作业。

问题分析: 由题可得出以下结构

interface Lecture {  //接口
    public abstract void talk (); //talk()方法
    public abstract void homework ();}//homework()方法
class Student implements Lecture { //Student类
    @Override
    public void talked()@Override
    public void homework()//Teacher类同上
  1. 定义一个抽象接口,该接口用于求和与统计数量。定义两个奇数类与偶数类实现上述接口,分别可以求100以内的奇数的和,统计100以内的奇数个数,以及求100以内的偶数的和,统计100以内的偶数个数。

问题分析: 由题可得出以下结构

interface Countable {               //接口
    public abstract int sum ();     //求和
    public abstract int count ();}  //统计
// 偶数
class Even implements Countable {
    @Override
    public int sum()//求和操作
 @Override
    public int count()//统计操作
  1. 定义一个抽象类动物类,同时定义抽象接口:进食接口、睡觉接口、思考接口、说话接口、行走接口、游泳接口、飞翔的接口。分别定义猫类、人类、鸟类、鱼类继承动物类,同时,根据实际情况,选择性实现上述接口,并创建实例验证。

问题分析: 由题可得出以下结构

abstract class Animal {public abstract void breathe ();} //抽象动物类

interface AbleToEat {public abstract void eat ();}    //进食接口
interface AbleToSleep {public abstract void sleep ();}//睡觉接口
interface Thinkable {public abstract void think ();}  //思考接口
interface Speakable {public abstract void speak ();}  //说话接口
interface Walkable {public abstract void walk ();}    //行走接口
interface AbleToSwim {public abstract void swim ();}  //游泳接口
interface Flyable {public abstract void fly ();}      //飞翔的接口

class Cat extends Animal implements AbleToEat, AbleToSleep, Thinkable, Speakable, Walkable { //猫类
    @Override
    public void breathe() ;
    @Override
    public void eat() ;
    @Override
    public void sleep();
    @Override
    public void think() ;
    @Override
    public void speak();
    @Override
    public void walk();
//鱼类,人类,鸟类同上操作

四、预习遇到的问题

对于相关知识熟悉度并不太充足,相关知识欠缺,应该尽力去尝试相关内容来训练去充分熟悉。对于接口以及抽象类的相关理解存在部分疑问。希望在实验中能通过各中渠道去学习并掌握相关知识。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值