Java面向对象高级特性-多态-抽象类-练习题

涎涎原创约 1218 字大约 4 分钟...JavaJava

206-Java面向对象高级特性-多态-抽象类-练习题.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

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