- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5 继承与接口16
实验5 继承与接口
[实验目的]
1、掌握java 继承中父类及其子类的定义方法。
2、掌握子类重写父类同名方法的方法。
3、掌握接口的用法。
(1) 学习如何定义接口 ;
(2) 掌握接口的实现方式 ;
(3) 使用实现了接口的类 ;
(4) 理解接口与抽象类的区别。
[实验要求]
复习理论教学中所学的内容。
认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。
认真总结实验并书写实验报告。
[实验课时] 2学时
[实验教学方式] 学生上机实验,教师随堂指导。
[实验内容]
类的继承性练习
【新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修改。新类还可添加新的变量和方法。这种现象就称为类的继承。
当建立一个新类时,不必写出全部成员变量和成员方法。只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。被继承的类称为父类或超类(superclass),这个新类称为子类。
Java 提供了一个庞大的类库让开发人员继承和使用。设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。所以,通常要对子类进行扩展,即添加新的属性和方法。这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。继承的意义就在于此。】【】中的读完删掉不作为实验报告的一部分
(一)创建将被继承的类
(1) 程序源代码如下。
public class EXP3_7
{
protected String xm; //姓名,具有保护修饰符的成员变量
protected int xh;//学号
void setdata(String xm,int xh) //设置数据的方法
{
此处添加所需代码
}
public void print() //输出数据的方法
{
System.out.println(xm+, +xh);
}
}
编译源程序。
public class EXP3_7 {
protected String xm; //姓名,具有保护修饰符的成员变量
protected int xh;//学号
void setdata(String xm,int xh) //设置数据的方法
{
this.xh=xh;
this.xm=xm;
}
public void print() //输出数据的方法
{
System.out.println(xm+, +xh);
}
}
3_8,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、bj(bj)。在程序中调用了父类的print 方法,同时可以看出子类也具有该方法。
(2) 程序源代码如下。
class EXP3_8 extends EXP3_7{
此处定义新的成员变量,均为protected类型
public static void main(String args[]){
EXP3_7 p1 = new EXP3_7();
p1.setdata(李四,12321) ;
p1.print();
EXP3_8 s1 = new EXP3_8() ;
s1.setdata(张三,12345); //调用父类的成员方法
s1.xy=山西大学计算机学院; //访问本类的成员变量
s1.bj=2008级计算机科学与技术; //访问本类的成员变量
s1.print();
System.out.print(s1.xm+, +s1.xy+, +s1.bj);
}
}
编译并运行,结果如图3.7所示。
class EXP3_8 extends EXP3_7{
String xy;
String bj;
public static void main(String args[]){
EXP3_7 p1 = new EXP3_7();
p1.setdata(李四,12321) ;
p1.print();
EXP3_8 s1 = new EXP3_8() ;
s1.setdata(张三,12345); //调用父类的成员方法
s1.xy=山西大学计算机学院; //访问本类的成员变量
s1.bj=2008级计算机科学与技术; //访问本类的成员变量
s1.print();
System.out.print(s1.xm+, +s1.xy+, +s1.bj);
}
}
李四, 12321
张三,
文档评论(0)