Java面向对象高级特性-多态-抽象类-练习题
原创约 1218 字大约 4 分钟...
206-Java面向对象高级特性-多态-抽象类-练习题.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
Rectangle表示矩形类,增加两个属性
3.2.1 Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,
- 重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。
示例代码
package com.tencent.chapter07.抽象类.练习;
/**
* <p>Title: Rectangle</p>
* <p>
* Description:
* // 3.2.1 Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,
* 重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。
* </p>
* @author xianxian
* @date 2023年1月4日
*/
public class Rectangle extends Shape{
//增加两个属性,Width表示长度、height表示宽度
int width;
int height;
//另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)
public Rectangle()
{
super();
}
public Rectangle(int width,int height,String color)
{
super(color);
//this.color = color;
this.width = width;
this.height = height;
}
//重写getPer、getArea和showAll三个方法
@Override
public double getArea() {
this.area = width * height;
return this.area;
}
@Override
public double getPer() {
this.per = (width + height) * 2;
return this.per;
}
@Override
public void showAll() {
System.out.println("宽:" + this.width + ",高:" + this.height + ",颜色:" + this.color + ",面积:" + this.getArea() + ",周长:" + this.getPer());
}
}
package com.tencent.chapter07.抽象类.练习;
/**
* <p>Title: Circle</p>
* <p>
* Description:
*
// 3.2.2 Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea和showAll三个方法,
* 另外又增加两个构造方法(为半径、颜色赋值的)。
* </p>
* @author xianxian
* @date 2023年1月4日
*/
public class Circle extends Shape {
//增加1个属性,radius表示半径
int radius;
//另外又增加两个构造方法(为半径、颜色赋值的)
public Circle()
{
super();
}
public Circle(int radius,String color)
{
super(color);
//this.color = color;
this.radius = radius;
}
//重写getPer、getArea和showAll三个方法
@Override
public double getArea() {
this.area = 3.1415926 * radius * radius;
return this.area;
}
@Override
public double getPer() {
this.per = 2 * 3.1415926 * radius;
return this.per;
}
@Override
public void showAll() {
System.out.println("半径:" + this.radius + ",颜色:" + this.color + ",面积:" + this.getArea() + ",周长:" + this.getPer());
}
}
package com.tencent.chapter07.抽象类.练习;
/**
* <p>Title: Shape</p>
* <p>
* Description:
* * 3、设计三个类,分别如下:(知识点:抽象类及抽象方法) [必做题]
3.1 设计Shape表示图形类,有面积属性area、周长属性per,颜色属性color,有两个构造方法
(一个是默认的、一个是为颜色赋值的),还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll
输出所有信息,还有一个求颜色的方法getColor。
3.2 设计 2个子类:
3.2.1 Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,
重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。
3.2.2 Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea和showAll三个方法,
另外又增加两个构造方法(为半径、颜色赋值的)。
3.3 在main方法中,声明创建每个子类的对象,并调用2个子类的showAll方法。
*
// 3.1 设计Shape表示图形类,有面积属性area、周长属性per,颜色属性color,有两个构造方法(一个是默认的、一个是为颜色赋值的),
* 还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll输出所有信息,还有一个求颜色的方法getColor。
* </p>
* @author xianxian
* @date 2023年1月4日
*/
public abstract class Shape {
//有面积属性area、周长属性per,颜色属性color
double area;
double per;
String color;
//有两个构造方法(一个是默认的、一个是为颜色赋值的)
public Shape()
{
}
public Shape(String color)
{
this.color = color;
}
//还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll输出所有信息
public abstract double getArea();
public abstract double getPer();
public abstract void showAll();
//还有一个求颜色的方法getColor
public String getColor()
{
return color;
}
}
package com.tencent.chapter07.抽象类.练习;
/**
* <p>Title: ShapeTest</p>
* <p>
* Description:
* //3.3 在main方法中,声明创建每个子类的对象,并调用2个子类的showAll方法。
* </p>
* @author xianxian
* @date 2023年1月4日
*/
public class ShapeTest {
public static void main(String[] args) {
//矩形
Rectangle rectangle = new Rectangle(10, 20, "pink");
rectangle.showAll();
//圆形
Circle circle = new Circle(5, "black");
circle.showAll();
}
}
分割线
相关信息
以上就是我关于 Java面向对象高级特性-多态-抽象类-练习题 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。
Powered by Waline v2.15.4