java 类的继承 实验报告(含代码)

合集下载

005-实验五 继承和接口(实验报告内容)

005-实验五 继承和接口(实验报告内容)

实验五继承和接口(实验报告)一、目的1.掌握Java语言继承机制。

二、实验内容定义一个超类,定义一个子类,实例化子类对象,调用超类的属性和方法,体会继承机制。

三、实验环境JDK1.6+dos环境四、实验原理1.继承机制五、实验步骤1、定义一个Person类,有属性姓名,年龄,性别。

Person具有吃饭,睡觉的行为。

定义一个Student类继承Person类,Student具有学习,看书的行为。

定义一个接口,能够输出自己的基本信息。

完成所设计的类的测试。

class Person{private String name;private int age;private String sex;public void setName( String name){ =name;}public String getName( ){return name;}public void setAge( int age){this.age=age;}public int getAge( ){return age ;}public void setSex( String sex){this.sex=sex;}public String getSex( ){return sex;}public void tell01(){System.out.println("会吃饭,能睡觉"); }public void tell02(){System.out.println("姓名:"+this.getName()+"性别:"+this.getSex()+"年龄:"+this.getAge());}}interface A{public void print01();public void print02();}class Student extends Person implements A{private int number;public void setNumber(int number){this.number=number;}public int getNumber( ){return number;}public void tell03(){System.out.println("姓名:"+this.getName()+"\n性别:"+this.getSex()+"\n年龄:"+this.getAge()+"\n学号:"+this.getNumber());}public void tell04(){System.out.println("爱学习,喜欢看书");}public void print01(){System.out.println("巴黎下着小雨!!!");}public void print02(){System.out.println("吉大正在飚雨!!!");}}public class mytest01{public static void main(String args[]){Student stu = new Student();stu.setName("张三");stu.setAge(20);stu.setSex("男");stu.setNumber(2011);stu.tell01();stu.tell03();stu.tell04();stu.print01();stu.print02();}}六、实验小结。

JAVA类的继承实验报告

JAVA类的继承实验报告

《面向对象程序设计》实验报告实验六、类的继承课程代码:1H10500学分:6实验类型:实践型实验学时:4个学时实验时间:2017.11.23 实验地点:5407班级:计算机164 专业:计算机科学与技术专业学号:2016011147 姓名:林文辉一、实验目的(1)学习JAVA继承的思想(2)了解JAVA语言继承的实现二、实验内容及步骤内容:在圆柱体类Cylinder里,用一个构造方法调用另一个构造方法步骤:方案的设计与分析(类结构图。

)(1)找出对象的共同属性和行为(2)设计代表共同状态与行为的类(3)决定子类是否需要让某项行为有特定的不同的运行方式(4)寻找更多抽象化的机会(5)完成类的继承层次三、实验过程及结果实验1代码:abstract class Graphics {abstract void parameter();abstract void area();}class Rectangle extends Graphics{double h,w;Rectangle(double u,double v){h=u;w=v;}void parameter() {S ystem.out.println("矩形高度为:"+h+",矩形宽度为:"+w);}void area() {S ystem.out.println("矩形面积为:"+(h*w));}}class Circle extends Graphics{double r;String c;Circle(double u,String v){r=u;c=v;}void parameter() {System.out.println("圆半径为:"+r+",圆颜色为:"+c);}void area() {System.out.println("圆面积为:"+(Math.PI*r*r));}}class ExamAbs{public static void main(String args[]) {Rectangle rec=new Rectangle(2.0, 3.0);Circle cir=new Circle(4.0, "Red");Graphics[]g= {rec,cir};for(int i=0;i<g.length;i++) {g[i].parameter();g[i].area();}}}结果:(该部分主要记录实验过程,包括实验代码及运行结果)四、实验小结Java中提供了this关键字,this关键字总是指向调用该方法的对象。

java 类的继承 实验报告(含代码)

java 类的继承 实验报告(含代码)

实验三类的继承实验目的:掌握类的继承、抽象类的定义和使用、对象的向上转型。

实验内容:已知若干图形,求以该图形为底的锥体的体积。

实验要求:用面向抽象的思想实现实验步骤:1、程序总体框架2、在shape包中创建抽象类Shape,代码如下:3、在centrun包中创建一个类Centrun,代码如下:Centrun这个类为核心类,在之后的代码编写中可以不做更改,getVolume函数用来求椎体的体积,即利用抽象类getArea进行适应性计算。

4、创建一个包myshape,在其中先创建一个Circle类,代码如下:Circle是对抽象类shape的继承(记得导入shape包),在Circle类中,利用对getArea 函数代码的重写操作,具体实现了求圆的面积这一操作。

【此处的具体实现应该放入该图形的具体面积求法。

】5、创建一个包Test,对以上三个包中的代码进行具体实现,代码如下:导入myshape包,在main函数中通过向上转型,实例化shape包中的抽象类Shape,然后调用函数输出圆锥的体积。

6、在求出实验结果1,即调试好shape、myshape、centrun这三个包后,不再更改shape、centrun包,而是在myshape包下新建所需的类,如本次实验所需的三角形、矩形;7、在myshape包下创建一个类Rectangular,代码如下:8、在myshape包下创建一个类Triangle,需注意的是,求三角形的面积需要判断三角形的三边能否构成三角形(不能构成时返回0),代码如下:实验结果:1、Test测试包最终代码:2、圆锥体积测试数据:半径=4.0,高=10测试结果:求得圆锥的体积约为168;3、四棱锥的体积(底面为矩形)测试数据:宽=6,长=8,高=10;测试结果:求得棱锥的体积为160.4、三棱锥的体积(1)测试数据:三边分别为:3 4 5,高为10。

测试结果:求得三棱锥的体积为20.(2)测试数据:三边分别为:15 4 5,高为10。

Java语言程序设计实验六 类的继承(接口与包)实验报告 (2)

Java语言程序设计实验六  类的继承(接口与包)实验报告 (2)

**大学**学院Java语言程序设计实验报告System.out.println("sum="+m1.num1+"+"+m1.num2+"+"+m1.num3+"="+m1.sum);}}问题:a、子类的sum,num1,num2分别是多少,父类的sum,num1,num2 分别是多少,如何在main中输出父类的sum,num1,num2子类:sum=600,num1=100,num2=200父类:sum=0,num1=0,num2=0;b、就这个例子,谈谈你对覆盖的理解?当子类的变量与父类的变量相同时,父类的变量被隐藏,main函数自动调用子类的变量2.运行下面的程序,理解方法的继承。

class Sort3{double max1,max2,max3;Sort3(){max1=-1;max2=-1;max3=-1;}double s;if (max1<max2){ s=max1;max1=max2;max2=s; }if (max1<max3){ s=max1;max1=max3;max3=s; }if (max2<max3){ s=max2;max2=max3;max3=s; }}}class sub_Sort3 extends Sort3{void subsort(double i,double j,double k){max1=i;max2=j;max3=k;sort(); //调用父类中的方法sort() …….① } }public class Class1{public static void main (String args[]){sub_Sort3 m1 = new sub_Sort3();m1.subsort(100,200,300);System.out.println("三个数从大到小为:"+m1.max1+","+m1.max2+","+m1.max3);}}问题:a、为什么标有.①处可以直接使用,而不需要生成Sort3的对象,然后使用该对象. sort()调用因为sub_sort3继承了sort,所以sort的方法就像是在子类中直接定义一样,可以被子类直接调用 B、程序实现什么功能?三个数之间互相比较大小3.运行下面的程序,理解方法的重载。

java实验报告 类的继承

java实验报告 类的继承

java实验报告类的继承一、实验目的1、深入理解 Java 中类的继承概念和机制。

2、掌握通过继承实现代码复用和功能扩展。

3、学会使用 super 关键字和方法重写。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse 或 IntelliJ IDEA三、实验内容1、创建一个父类`Animal`包含属性:`name`(字符串类型),`age`(整数类型)包含方法:`eat()`(打印出动物正在吃东西),`sleep()`(打印出动物正在睡觉)2、创建子类`Dog` 继承自`Animal`新增属性:`breed`(字符串类型,表示狗的品种)重写父类的`eat()`方法,打印出狗吃东西的特有方式新增方法:`bark()`(打印出狗在叫)3、创建子类`Cat` 继承自`Animal`新增属性:`color`(字符串类型,表示猫的颜色)重写父类的`sleep()`方法,打印出猫睡觉的特有姿势新增方法:`meow()`(打印出猫在叫)四、实验步骤1、在 Java 项目中创建一个名为`Animal` 的类:```javapublic class Animal {private String name;private int age;public Animal(String name, int age) {thisname = name;thisage = age;}public void eat(){Systemoutprintln(name +" is eating");}public void sleep(){Systemoutprintln(name +" is sleeping");}}```2、创建一个名为`Dog` 的类继承自`Animal`:```javapublic class Dog extends Animal {private String breed;public Dog(String name, int age, String breed) {super(name, age);thisbreed = breed;}@Overridepublic void eat(){Systemoutprintln(supergetName()+" the "+ breed +" dog is eating greedily");}public void bark(){}}```3、创建一个名为`Cat` 的类继承自`Animal`:```javapublic class Cat extends Animal {private String color;public Cat(String name, int age, String color) {super(name, age);thiscolor = color;}@Overridepublic void sleep(){Systemoutprintln(supergetName()+" the "+ color +" cat is sleeping curled up");}public void meow(){}}```4、在`Main` 类中进行测试:```javapublic class Main {public static void main(String args) {Dog dog = new Dog("Buddy", 3, "Labrador");dogeat();dogbark();dogsleep();Cat cat = new Cat("Mimi", 2, "White");cateat();catsleep();catmeow();}}```五、实验结果1、运行`Main` 类后,输出结果如下:`Buddy the Labrador dog is eating greedily``Buddy is barking``Buddy is sleeping``Mimi is eating``Mimi the White cat is sleeping curled up``Mimi is meowing`2、可以看到,子类`Dog` 重写了父类`Animal` 的`eat()`方法,展示了狗特有的吃东西方式;子类`Cat` 重写了父类的`sleep()`方法,展示了猫特有的睡觉姿势。

java类的继承实验报告

java类的继承实验报告

java类的继承实验报告Java类的继承实验报告引言:在面向对象的编程语言中,继承是一种重要的概念。

Java作为一门面向对象的编程语言,也支持类的继承。

本篇实验报告将介绍Java类的继承的基本概念、语法以及实际应用。

一、继承的基本概念继承是指一个类可以派生出另一个类,被派生出的类称为子类,派生出子类的类称为父类。

子类可以继承父类的属性和方法,并且可以在此基础上进行扩展或修改。

继承的关系可以形成类的层次结构,使得代码的复用性和可维护性得到提高。

二、继承的语法在Java中,使用关键字"extends"来实现类的继承关系。

子类通过继承父类来获得父类的属性和方法。

语法格式如下:```javaclass 子类名 extends 父类名 {// 子类的成员变量和方法}```在子类中可以重写父类的方法,以实现自己的逻辑。

使用关键字"super"可以调用父类的构造方法和成员变量。

三、继承的实际应用1. 代码复用继承的一个主要优势是可以实现代码的复用。

子类可以继承父类的属性和方法,避免了重复编写相同的代码。

例如,假设有一个父类"Animal",子类"Dog"和"Cat"可以继承父类的一些通用属性和方法,如"eat()"和"sleep()"。

2. 多态性继承也为多态性的实现提供了基础。

多态性是指一个对象可以根据不同的类型表现出不同的行为。

通过继承,可以将不同的子类对象赋给父类引用,实现对不同子类对象的统一操作。

例如,有一个父类"Shape",子类"Circle"和"Rectangle"可以继承父类的方法"draw()",并在自己的类中实现具体的绘制逻辑。

通过将子类对象赋给父类引用,可以统一调用"draw()"方法,实现对不同形状的绘制。

继承的含义实验报告

继承的含义实验报告

一、实验目的1. 理解继承的概念及其在面向对象编程中的重要性;2. 掌握Java中继承的实现方式;3. 熟悉继承中成员的访问权限;4. 掌握子类与父类之间的关系。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 定义一个父类Person,包含以下属性和方法:- 属性:name(姓名)、age(年龄)- 方法:setName(String name)、getName(String name)、setAge(int age)、getAge(int age)、toString()2. 定义一个子类Student,继承自Person类,包含以下属性和方法:- 属性:id(学号)- 方法:setId(int id)、getId(int id)3. 编写main方法,创建Person和Student对象,并输出对象信息。

4. 定义一个父类Animal,包含以下属性和方法:- 属性:name(名字)、age(年龄)- 方法:setName(String name)、getName(String name)、setAge(int age)、getAge(int age)、toString()5. 定义一个子类Dog,继承自Animal类,包含以下属性和方法:- 属性:breed(品种)- 方法:setBreed(String breed)、getBreed(String breed)6. 编写main方法,创建Animal和Dog对象,并输出对象信息。

7. 定义一个父类Vehicle,包含以下属性和方法:- 属性:brand(品牌)、model(型号)- 方法:setBrand(String brand)、getBrand(String brand)、setModel(String model)、getModel(String model)、toString()8. 定义一个子类Car,继承自Vehicle类,包含以下属性和方法:- 属性:color(颜色)- 方法:setColor(String color)、getColor(String color)9. 编写main方法,创建Vehicle和Car对象,并输出对象信息。

java类的继承实验报告

java类的继承实验报告

java类的继承实验报告Java类的继承实验报告引言:在面向对象的编程语言中,继承是一种重要的概念。

Java作为一种面向对象的编程语言,也提供了类的继承机制。

本实验旨在通过编写Java程序,深入理解和掌握Java类的继承。

实验目的:1. 理解继承的概念和原理;2. 掌握Java中类的继承的语法和用法;3. 实践继承的实际应用。

实验过程:1. 创建父类和子类在实验中,我们首先创建一个父类和一个子类。

父类可以是一个基本的类,子类则继承了父类的属性和方法。

这样,子类就可以在不改变父类的基础上,扩展自己的功能。

2. 继承的语法和用法Java中,使用关键字"extends"来实现类的继承。

子类通过继承父类,可以获得父类的属性和方法,并且可以在子类中添加新的属性和方法。

在实验中,我们可以通过创建子类对象,并调用继承自父类的方法来验证继承的正确性。

3. 方法的重写在继承中,子类可以重写父类的方法。

这样,当子类调用该方法时,实际上执行的是子类重写后的方法。

通过方法的重写,我们可以实现多态性的效果。

4. 实际应用在实验中,我们可以选择一个具体的应用场景,例如动物类的继承。

我们可以创建一个父类Animal,包含基本的属性和方法,然后创建子类Dog和Cat,分别继承Animal类,并添加自己的特有属性和方法。

通过这个实例,我们可以更好地理解继承的实际应用。

实验结果:通过实验,我们成功地创建了父类和子类,并验证了继承的正确性。

我们还成功地重写了父类的方法,实现了多态性的效果。

最后,我们还通过实际应用的例子,更好地理解了继承的实际应用。

实验总结:通过本次实验,我们深入理解和掌握了Java类的继承。

继承是面向对象编程中的重要概念,通过继承,我们可以实现代码的重用和扩展。

在实际应用中,继承也可以帮助我们更好地组织代码,提高代码的可读性和可维护性。

然而,继承也有一些限制和注意事项。

首先,Java中只支持单继承,即一个子类只能继承一个父类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三类的继承
实验目的:掌握类的继承、抽象类的定义和使用、对象的向上转型。

实验内容:已知若干图形,求以该图形为底的锥体的体积。

实验要求:用面向抽象的思想实现
实验步骤:
1、程序总体框架
2、在shape包中创建抽象类Shape,代码如下:
3、在centrun包中创建一个类Centrun,代码如下:
Centrun这个类为核心类,在之后的代码编写中可以不做更改,getVolume函数用来求椎体的体积,即利用抽象类getArea进行适应性计算。

4、创建一个包myshape,在其中先创建一个Circle类,代码如下:
Circle是对抽象类shape的继承(记得导入shape包),在Circle类中,利用对getArea 函数代码的重写操作,具体实现了求圆的面积这一操作。

【此处的具体实现应该放入该图形的具体面积求法。


5、创建一个包Test,对以上三个包中的代码进行具体实现,代码如下:
导入myshape包,在main函数中通过向上转型,实例化shape包中的抽象类Shape,然后调用函数输出圆锥的体积。

6、在求出实验结果1,即调试好shape、myshape、centrun这三个包后,不再更改shape、centrun包,而是在myshape包下新建所需的类,如本次实验所需的三角形、矩形;
7、在myshape包下创建一个类Rectangular,代码如下:
8、在myshape包下创建一个类Triangle,需注意的是,求三角形的面积需要判断三角形的三边能否构成三角形(不能构成时返回0),代码如下:
实验结果:
1、Test测试包最终代码:
2、圆锥体积
测试数据:半径=4.0,高=10
测试结果:求得圆锥的体积约为168;
3、四棱锥的体积(底面为矩形)
测试数据:宽=6,长=8,高=10;
测试结果:求得棱锥的体积为160.
4、三棱锥的体积
(1)测试数据:三边分别为:3 4 5,高为10。

测试结果:求得三棱锥的体积为20.
(2)测试数据:三边分别为:15 4 5,高为10。

测试结果:求得三棱锥的体积为0.。

相关文档
最新文档