一、 实验题目 类的继承与封装 二、 实验目的 1. 熟练掌握类、类的数据成员和成员方法的定义与实现; 2. 熟练掌握抽象类与类的继承的相关内容; 3. 熟练掌握接口与接口的实现的相关内容; 4. 熟练掌握public、private电影《人生》、static、final、abstract等修饰符的作用。 三、 实验内容 类的继承与封装: 定义抽象类Shape(形状)其中有抽象方法用来求某形状的周长和面积;定义Shape类的子类Circle(圆形)、Triangle(三角形)、Rect(矩形)其中包括该形状的位置、大小信息并实现求其周长和面积的方法。 假设当前有圆心为(100,100)半径为60的圆,左上角坐标为(0,200),水平宽度为120,垂直高度为80的矩形,以及三个顶点坐标分别为(200,200)、(300,400)、(150,350)的三角形,请在控制台输出每个形状的相关信息,及所有形状的周长和面积的和。 接口的定义与实现: 通过接口和实现接口的类来完成上一题目。 四、 实验步骤 1、 题目一 (1) 问题分析 子类继承父类,构造类的对象来实现 (2) 算法描述 (3) 主要代码及运行结果 import java.applet.Applet; import java.awt.Graphics; abstract class Shapes { public int x, y; public int width, height; public Shapes(int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; this.height = height; } abstract double getArea(); abstract double getPerimeter(); } 物资配送 class Circle extends Shapes { //圆 public double r; public double getArea() { return (r * r * Math.PI); 申请如何写 } public double getPerimeter() { return (2 * Math.PI * r); } public Circle(int x, int y, int width, int heigh) { super(x, y, width, heigh); 网上开户 r = (double) width / 2.0; } } class Square extends Shapes { //矩形 public double getArea() { return (width * height); } public double getPerimeter() { return (2 * width + 2 * height); } public Square(int x, int y, int width, int height) { 记叙文700字 super(x, y, width, height); } } class Triangle extends Shapes { //三角形 public double c; public double getArea() { return (0.5 * width * height); } public double getArea1() { return (0.5 * width * height); }单一变量原则 public double getPerimeter() { return (width + height + c); } public Triangle(int x, int y, int ba, int height) { super(x, y, ba, height); c = Math.sqrt(width * width + height * height); } } public class test extends Applet { Square Box = new Square(0, 200, 120, 80); Triangle tri_1 = new Triangle(200, 200, 5, 10); Triangle tri_2 = new Triangle(300, 400, 0, 0); Triangle tri_3 = new Triangle(150, 350, 0, 0); Circle Oval = new Circle(100, 100, 60, 60); // public void paint(Graphics g) { int arg0[]={tri_1.x,tri_2.x,tri_3.x} ,arg1[]={tri_1.y,tri_2.y,tri_3.y} ; g.drawRect(Box.x, Box.y, Box.width, Box.height); //画矩形 g.drawString("Box Area:" + Area(), 200, 35+200); g.drawString("Box Perimeter:" + Perimeter(), 200, 55+200); g.drawPolygon(arg0, arg1, 3); g.drawString("tri Area:" + Area(), 200, 75+200);购置税优惠政策 g.drawString("tri Perimeter:" + Perimeter(), 200, 95+200); g.drawOval(Oval.x, Oval.y, Oval.width, Oval.height); //画圆 g.drawString("oval Area:" + Area(), 200,150); g.drawString("oval Perimeter:" + Perimeter(), 200,150+20); } } 五、 体会与总结 (1).编写调试程序要注意程序编写的规则,人参果苗.java文件名要与主类名相同,JAVA对字母的大小写特别敏感,输入时要特别注意大小写字母的定义,千万别犯主类名与.java文件名不同的错误。 (2)碰到一道题,要从多角度进行分析,用多种方法进行解决,以拓展自己思维。 (3)学会自行对程序进行调试。 (4)在编程方面,要多做练习! |
本文发布于:2023-06-18 08:48:07,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/982013.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |