- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
班级: 姓名: 学号: 成绩
实验二 Java面向对象技术——必做
实验目的:
理解继承的概念
掌握继承的实现
理解继承中的覆盖现象
理解抽象类的概念,掌握定义抽象类的方法和应用 实验数据记录及分析(或程序及运行结果)按照要求完成程序:
声明一个图形类(Shape),含有一个成员变量color(字符串类型),一个参构造方法,一个有一个字符串参数的构造方法初始化颜色变量,一个方法返回颜色值,一个抽象方法getArea获面积
public abstract class Shape {
String color = 兰色;
public Shape() {
}
public Shape(String color) {
this.color = color;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String toString() {
return 颜色: + color + ,面积: + getArea();
}
public abstract double getArea();
}
一个圆形类(Circle)继承自图形类,含有一个成员变量半径r有一个有两个参数的构造方法初始化颜色和半径一个getArea获取圆的面积。
public class Circle extends Shape {
double r;
public Circle(String color, double r) {
super(color);
this.r = r;
}
public Circle(double r) {
this.r = r;
}
public Circle(String color) {
super(color);
}
public Circle() {
}
public String toString() {
return 圆形【半径: + r + + super.toString() + 】;
}
public double getArea() {
return Math.PI * r * r;
}
}
声明一个矩形类(Rectangle)继承自图形,含有两个double类型的成员变量长a和宽b有一个有三个参数的构造方法初始化颜色、长和宽一个getArea方法获取矩形的面积ublic class Rectangle extends Shape {
private double width, height;
public Rectangle(String color, double width, double height) {
super(color);
this.width = width;
this.height = height;
}
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public Rectangle(double width) {
this(width, width);
}
public Rectangle() {
}
public String toString() {
return 矩形【宽: + width + , 高: + height + +
super.toString() + 】;
}
public double getArea() {
return width * height;
}
}import java.util.Scanner;
public class ShapeFactory {
public static Shape createShape(String shape) {
Scanner sc = new Scanner(System.in);
if (shape.equalsIgnoreCase(Circle)) {
System.out.println(请输入圆形的半径:);
double r = sc.nextDouble();
return new Circle(r);
} else if (shape.equalsIgnoreCase(Rectangle)) {
System.out.println(请输入矩形的宽
文档评论(0)