实验三 面向对象(二)(预习报告)
实验三 面向对象(二)(预习报告)
姓名:
XXX
班级:
XXX
学号:
XXX
一、实验目标
1. 能够运用Java语言来实现类的继承及多态性、熟练使用包来扩展程序功能并能建立自己的包;
2. 能够灵活运用Java语言的抽象方法、接口、抽象类来编写应用程序解决实际问题。
二、实验环境
IntelliJ IDEA Ultimate Edition 2021.3 x64. + openjdk-17.0.1.
三、实验准备
- 设计一个抽象类图形类,在该类中包含有至少三个抽象方法,分别用于求周长、求面积,以及对图形进行描述(如,“这是形状,周长是,面积是**”),分别定义圆形类、长方形类、等边三角形类来继承图形类,实现上述三个方法,并创建实例验证。
问题分析:定义抽象类用
abstract
关键字, 其他普通类继承该类即可,注意,抽象类被继承后,需要实现抽象类中的抽象方法abstract class Shape { public abstract double calculatePerimeter (); public abstract void describe (); public abstract double calculateSquare (); }
- 定义一个抽象接口Lecture,接口中至少有两个抽象方法talk()与homework(),分别定义Student类与Teacher类实现Lecture接口,Student类的talk()方法用于模拟学生回答问题,Teacher类的talk()方法用于模拟老师提出问题,Student类的homework ()方法用于模拟学生写作业,Teacher类的homework ()方法用于模拟老师布置作业。
问题分析:定义接口用
interface
关键字,实现接口使用implements
关键字interface Lecture { public abstract void talk (); public abstract void homework (); } class Student implements Lecture { ... } class Teacher implements Lecture { ... }
- 定义一个抽象接口,该接口用于求和与统计数量。定义两个奇数类与偶数类实现上述接口,分别可以求100以内的奇数的和,统计100以内的奇数个数,以及求100以内的偶数的和,统计100以内的偶数个数。
问题分析:定义接口用
interface
关键字,实现接口的类重写其中的抽象函数interface Countable { public abstract int sum (); public abstract int count (); }
- 一个抽象类动物类,同时定义抽象接口:进食接口、睡觉接口、思考接口、说话接口、行走接口、游泳接口、飞翔的接口。分别定义猫类、人类、鸟类、鱼类继承动物类,同时,根据实际情况,选择性实现上述接口,并创建实例验证。
问题分析:定义接口用
interface
关键字,实现接口使用implements
关键字,继承类使用extends
关键字,注意,接口可以多实现,类不能多继承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 (); }
四、预习遇到的问题
总是记不住抽象类中的方法的默认属性和接口中方法的默认属性及字段的默认属性
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/122839.html