您好,欢迎来到画鸵萌宠网。
搜索
您的当前位置:首页实验八抽象类程序设计

实验八抽象类程序设计

来源:画鸵萌宠网
实验八抽象类程序设计

- 1 - 实 验 报 告 实验项目名称 实验八 抽象类程序设计 实验项目类型

验证

性 □演示性 □设计性 □综合性 □创新性 实验指导教师 实验地点 专业、班级 学号 实验日期 姓名 一、实验目的及要求 1.了解抽象类的概念、特征、作用 2.掌握抽象类的使用 3.掌握向上转型的用法 二、实验硬、软件及要求 Windows 计算机和 Eclipse 软件 三、实验内容及步骤 1.升级电子宠物系统,将 Pet 定义为抽象类,并把 print 方法定义为抽象方法,再次实现宠物的领养和玩耍。代码: package petandlei; public abstract class pet { public abstract void print(); } package petandlei; public class dog extends pet{ public void print(){ System.out.println(已领养宠物狗,正在遛狗...); } } package petandlei; public class penguin extends pet{ public void print(){ - 2 - System.out.println(已领养企鹅,正在喂食...); } } package petandlei;

public

class

wolf

extends

pet{

public

void

print(){ System.out.println(已领养金刚狼,正在和它玩耍...); } } package petandlei; import java.util.Scanner; public class text { public static void main(String args) { Scanner in = new Scanner(System.in); System.out.println(宠物领养系统+\\n+领养的类型:+\\n+1.宠物狗+\\n+2.宠物企鹅+\\n+3.宠物金刚狼); System.out.print(请选择:); int i = in.nextInt(); switch(i){ case 1:dog dog = new dog(); dog.print(); break; case 2:penguin pen = new penguin(); pen.print(); break; case 3:wolf wolf = new wolf(); wolf.print(); break; default:System.out.println(输入类型错误); } in.close(); } } 2.尝试创建一个父类,在父类中创建两个方法,在子类中覆盖第二个方法,为子类创建一个对象,将它向上转型到基类并调用这个方法。

代码: package zhuan; public abstract class xing { public void

phone(){ System.out.println(想要华为); } public abstract void smart(); } package zhuan; - 3 - public class smart extends xing{ public void smart(){

System.out.println(购买手机);

}

public

void

buy(){ System.out.println(去买其他牌子的手机); } } package zhuan; public class text { public static void main(String args) { xing p = new smart(); p.smart(); p.phone(); smart s = new smart(); s.buy(); } } 3. 尝试创建一个父类和子类,分别创建构造方法,然后向父类和子类添加成员变量和方法,并总结构建子类对象时的顺序 代码: package hank; public abstract class money { String name; String jine; public money(String name, String jine) { this.name = name; this.jine = jine; } public money() { super(); } public String getName() { return name; } public String getJine() { return jine; } public abstract void print(); } package hank; public class New extends money{ public New(String name, String jine) { super(name, jine); - 4 - } String data; public New(String data) { this.data = data; } public String getData() { return data; } public void

print(){

System.out.println(已存款人的名字和金

额:+getName()+\+getJine()); } public void println(){ System.out.println(日期:+getData()); } } package hank; public class text { public static void main(String args) { money m = new New(熊大,一千万); m.print(); New n = new New(四月二十三); n.println(); } } 四、实验结果与分析 结果 1: 分析: 先定义一个 pet 类为父类,再定义子类 dog、penguin、wolf,在子类中重写父类方法,在测试类中,使用 switch 函数选择领养宠物并调用子类对象的 print 方法输出。- 5 - 结果 2: 分析: 先定义一个父类 xing,在类中创建两个方法分别为 phone 和抽象方法 smart,在测试类函数中,为子类创建一个对象,将子类 smart 对象转为父类 xing 对象,通过子类对象的向上转型,输出子类重写方法。结果 3: 分析: 先创建一个父类 money 和一个子类 New,在父类中定义字符串 name 和 jine,构造抽象方法 print,在子类

New 中再次定义一个字符串成员变量 data,并重写父类方法 print,另外创建构造方法 println,赋予子类中 data 值,在测试类函数中将子类对象转为父类对象,进而调用出子类中 print 方法和 println 方法输出结果。 成绩:

教师签名:

年 月

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务