Java继承与多态实验报告课案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
</applet >
</html>
(三)构造方法的重载
(1)编写构造方法User的重载程序文件RunDemo,源代码如下。
classUser{
private String userName, password;
【代码1】//定义一个无参构造方法的头部
{
System.out.println("全部为空!");
if (userName!=null)
s="用户名:"+userName;
else
s="用户名不能为空!";
if (password!="12345678")
System.out.print(u.name+", "+u.number+", "+u.academy+", "+u.department);
}
}
(3)编译并运行程序
注意:公共类Student与undergraduate类要在同一文件夹(路径)内。
(二)方法的重载
(1)程序功能:对不同的数进行排序输出。在IntSort类中定义3个同名的方法sort。
int a=30, b=12, c=40;
int arr[]={34,8,12,67,44,98,52,23,16,16};
g.drawString("两个数的排序结果:"+s.sort(a,b),30,30);
g.drawString("三个数的排序结果:"+s.sort(a,b,c),30,60);
{
【代码3】//创建一个学生对象s
【代码4】//用父类的setData方法初始化对象s
【代码5】//对象s调用print方法
【代码6】//创建一个大学生对象u
【代码7】//调用父类的成员方法setData初始化对象u
【代码8】//设置对象u的成员变量academy
【代码9】//设置对象u的成员变量department
(2)编写Sort.java文件,源代码如下。
import java.awt.Graphics;
import java.applet.Applet;
class IntSort {
public String sort(int a, int b) {
if (a>b)
return a+""+b;
else
return b+""+a;
(系)。在程序中调用父类的print方法。
(2)编写Undergraduate程序:
classUndergraduateextendsStudent
{
【代码1】//ቤተ መጻሕፍቲ ባይዱ义成员变量academy
【代码2】//定义成员变量department
public static void main(String args[])
西安邮电大学
(计算机学院)
课内实验报告
实验名称:继承与多态
专业名称:计算机科学与技术
班级:计科1405班
学生姓名:高宏伟
学号:04141152
指导教师:刘霞林
实验日期:2016.10.13
一、实验目的
通过编程和上机实验理解Java语言的继承和多态特性,掌握变量的隐藏、方法的覆盖、重载,掌握抽象类和接口的使用。
publicclassStudent
{
protectedString name; //具有保护修饰符的成员变量
protectedintnumber;
void setData(String m,int h) //设置数据的方法
{
name=m;
number= h;
}
public void print() //输出数据的方法
}
public String sort(int arr[]) {
String s="";
int swap;
for (int i=0; i<arr.length; i++)
for (int j=0; j<arr.length-1; j++)
if (arr[j]>arr[j+1]) {
swap=arr[j];
}
public String sort(int a, int b, int c) {
int swap;
if (a<b) {
swap=a;
a=b;
b=swap;
}
if (a<c) {
swap=a;
a=c;
c=swap;
}
54
if (b<c) {
swap=b;
b=c;
c=swap;
}
return a+""+b+""+c;
}
【代码2】//定义一个构造方法,参数为name,用name初始化成员变量userName
【代码3】//定义一个构造方法的头部,参数为name和pwd
{
【代码4】//调用上个构造方法初始化userName
【代码5】//初始化成员变量password
check();
}
void check() {
String s=null;
二、实验要求
1.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
2.编写体现类的多态性(成员方法重载)的程序。
3.编写体现类的多态性(构造方法重载)的程序。
4.编写使用接口的程序。
三、实验内容
(一)类的继承
1.创建公共类Student.
(1)编写程序文件Student.java,源代码如下:
arr[j]=arr[j+1];
arr[j+1]=swap;
}
for (int i=0; i<arr.length; i++)
s=s+arr[i]+"";
return s;
}
}
public classSortextends Applet {
IntSort s=new IntSort();
public void paint(Graphics g) {
g.drawString("数组的排序结果:"+s.sort(arr),30,90);
}
}
(3)编译并运行程序
(4)编写Sort类文件的页面文件sort.html
<html>
<applet codebase=e:/java/程序code=KY3_11.class width=420 height=380>
{
System.out.println(name+", "+number);
}
}
(2)编译Student.java,产生类文件Student.class。
2.创建继承的类Undergraduate
(1)程序功能:通过Student类产生子类undergraduate,其不仅具有父类的成员变量
name(姓名)、number(学号),还定义了新成员变量academy(学院)、department
相关文档
最新文档