继承与多态实验报告.docx
- 文档编号:28822007
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:12
- 大小:17KB
继承与多态实验报告.docx
《继承与多态实验报告.docx》由会员分享,可在线阅读,更多相关《继承与多态实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
继承与多态实验报告
继承与多态实验报告
篇一:
JAVA继承和多态实验报告
(所属课程:
实验项目名称:
)
院系:
专业班级:
姓名:
学号:
实验地点:
指导老师:
1.实验目的
(1)掌握类的继承机制。
(2)熟悉类中成员变量和方法的访问控制。
(3)熟悉方法或构造方法多态性。
2.实验内容
(1)模拟编写程序,理解类的继承、多态、继承和多态规则。
(2)独立编程,实现类的继承和多态。
3.实验作业
设计一个类Shape(图形)包含求面积和周长的area方法和perimeter方法以及设置颜色的方法SetColor,并利用Java多态技术设计其子类Circle(圆形)类、Rectangle(矩形)类和Triangle(三角形)类,并分别实现相应的求面积和求周长的方法。
每个类都要覆盖toString方法。
海伦公式:
三角形的面积等于s的开方,其中s=/2
程序代码为:
Class包
packageClass;
publicclassShape{
publicShape{}publicvoidsetColor{}publicStringgetColor{
本实验项目成绩:
教师签字:
日期:
privateStringcolor=“while”;=color;=color;
returncolor;
}
publicdoublegetArea{
return0;
}
publicdoublegetPerimeter{
return0;
}
publicStringtoString{
return“color:
”+color;
}
}
packageClass;
publicclassCircleextendsShape{
privatedoubleradius;
publicCircle{
super;
=radius;
}
publicvoidsetRadius{
=radius;
}
publicdoublegetRadius{
returnradius;
}
publicdoublegetCircleArea{
return*radius*radius;
}
publicdoublegetCirclePerimeter{
return*2*radius;
}
return“TheAreais:
”+getCircleArea+“\nThePerimeteris:
”+getCirclePerimeter;}
}
packageClass;
publicclassRectangleextendsShape{
privatedoublewidth;
privatedoubleheight;
publicRectangle{super;
=width;
=height;
}
publicvoidsetWidth{
=width;
}
publicdoublegetWidth{
returnwidth;
}
publicvoidsetHeight{
=height;
}
publicdoublegetHeight{
returnheight;
}
publicdoublegetRectangleArea{
returnwidth*height;
}
publicdoublegetRectanglePerimeter{
return2*;
}
}publicStringtoString{}return“TheAreais:
”+getRectangleArea+“\nThePerimeteris:
”+getRectanglePerimeter;
packageClass;
publicclassTriangleextendsShape{
}publicvoidsetA{}publicdoublegetA{}publicvoidsetB{}publicdoublegetB{}publicvoidsetC{
privatedoublea;privatedoubleb;privatedoublec;privatedoubles;publicTriangle{super;=a;=b;=c;=s;=a;returna;=b;returnb;
}publicdoublegetTrianglePerimeter{}publicStringtoString{}returna+b+c;}publicdoublegetC{}publicdoublegetTriangleArea{}returnc;return**);return“TheAreais:
”+getTriangleArea+“\nThePerimeteris:
”+getTrianglePerimeter;
Main包
packageMain;
import;
import;
import;
import;
import;
publicclasstest{
publicstaticvoidmain{Scannerinput=newScanner;;doubleradius=;Circlecircle=newCircle;);;doublewidth=;;
篇二:
继承与多态实验报告
实验五继承与多态
理解继承与多态的概念,掌握三种访问控制的区别,掌握抽象类、接口与包的应用。
二、实验内容:
1.参考教材P112,示例程序C5_17,掌握抽象类的应用。
2.参考教材P116,示例程序C5_19,掌握接口的使用方法。
3.参考教材P121,示例程序C5_20,掌握包的使用方法。
三、实验要求:
1.完成示例程序的验证。
2.写出实验报告。
四、实验步骤与结果:
(由学生按照实验内容完成)
1.示例程序c5_17
import*;
import*;
abstractclassShapes//定义一个抽象类Shapes
{
publicintx,y;//x、y为画图的坐标
publicintwidth,height;
publicShapes
{=x;
=y;
=width;
=height;
}
abstractdoublegetArea;//求图形面积的抽象方法
abstractdoublegetPerimeter;//求图形周长的抽象方法
}
classSquareextendsShapes//由抽象类Shapes派生的子类——矩形类{
publicdoublegetArea{return;}
publicdoublegetPerimeter{return;}
publicSquare
{super;}
}
classTriangleextendsShapes//由抽象类Shapes派生的子类——三角形类{
publicdoublec;//斜边
publicdoublegetArea{return;}
publicdoublegetPerimeter{return;}
publicTriangle
{
super;
c=;
}
}
classCircleextendsShapes//由抽象类Shapes派生的子类——圆类{
publicdoubler;//半径
publicdoublegetArea{return;}
publicdoublegetPerimeter{return;}
publicCircle
{
super;
r=width/;
}
}
publicclassc5_18extendsApplet
{
/**
*
*/
privatestaticfinallongserialVersionUID=-5589238944558587862L;SquareBox=newSquare;
Triangletri=newTriangle;
CircleOval=newCircle;
publicvoidpaint
{
//画正方形
;
;
;;
;;//画圆;}
}
2.示例程序C5_19
import*;
import*;
interfaceShapes
{abstractdoublegetArea;
abstractdoublegetPerimeter;
}
classCoordinates
{
intx,y;
publicCoordinates
{
=x;
=y;
}
}
//SquareCoordinatesShapes
classSquareextendsCoordinatesimplementsShapes
{
publicintwidth,height;
publicdoublegetArea{return;}
publicdoublegetPerimeter{return;}publicSquare
{
super;
=width;
=height;
}
}
classTriangleextendsCoordinatesimplementsShapes
{
publicintwidth,height;
publicdoublec;
publicdoublegetArea{return;}
publicdoublegetPerimeter{return;}
publicTriangle
{
super;
width=base;
=height;
c=;
}
}
classCircleextendsCoordinatesimplementsShapes
{
publicintwidth,height;
publicdoubler;
publicdoublegetArea{return;}
publicdoublegetPerimeter{return;}
publicCircle
{
super;
=width;
=height;
r=width/;
}
}
publicclassc5_20extendsApplet
{
/**
*
*/
privatestaticfinallongserialVersionUID=2664639751369334604L;SquareBox=newSquare;
Triangletri=newTriangle;
CircleOval=newCircle;
publicvoidpaint
{
;
;
;
;
;;;
}
}
五.总结
篇三:
.NET继承与多态实验报告
实验报告
课程名称
实验项目
专业计科班级姓名学号
指导教师实验成绩
年月日
一、实验目的(介绍本次实验的预期目标,完成的功能)
1.理解类的继承性与多态性,掌握其应用方法。
2.理解抽象类、接口的概念,掌握抽象类与接口的定义及使用方法。
二、实验过程(介绍实验中涉及的关键过程,如核心算法、数
据结构等)
1.设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生等派生类,要求具有不同的特性和行为,能通过静态成员自动记录不同学生的人数。
学生类要求的功能:
成员变量:
学号、姓名、总成绩、性别等;
方法:
构造函数、析构函数、显示学生的全部信息。
派生类要求的功能:
成员变量:
小学生类:
语文成绩、数学成绩、英语成绩中学生类:
化学成绩、物理成绩大学生类:
高数成绩、计算机成绩
静态变量:
人数
方法:
构造函数、析构函数、显示学生全部信息。
选择“文件”→“新建”→“项目”菜单命令,弹出“新建项目”对话框,在“模板”列表框中选择“控制台应用程序”。
首先创建一个学生类,属性有学号、姓名、总成绩、性别,构造函数里赋值。
代码如图1-1所示:
图1-1学生类源代码
然后分别创建小学生类、中学生类和大学生类。
代码如图1-2、1-3、1-4所示:
图1-2小学生类源代码
图1-3中学生类源代码
图1-4大学生类源代码
最后创建班级类并实现学生信息管理。
如图1-5、1-6所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 继承 实验 报告