کلاس مستطیل در جاوا

برنامه ای که بتواند کلاس مستطیل را با ویژگی های زیر در جاوا شبیه سازی کند،
۱- هر مستطیل با مختصات دو نقطه مشخص می شود.
۲- متدهایی برای محاسبه طول و عرض و محیط و مساحت مستطیل
۳- متدهای پیش‌فرض مقایسه ی دو مستطیل و متد toString و equals
و …

//Rectangle Class [simple]
//Java Programming
//By: Sina Moradi
//Website: Samiantec.ir

class Rectangle
{
	private double x1,y1,x2,y2; //Properties of a rectangle

	public Rectangle() //Default Constructor
	{
		setLocations(0, 0, 1, 1);
	}

	public Rectangle(double x1, double y1, double x2, double y2) //Full Constructor
	{
		setLocations(x1, y1, x2, y2);
	}

	public Rectangle(Rectangle otherRectangle) //Copy Constructor
	{
		if (otherRectangle != null)
			setLocations(otherRectangle.x1, otherRectangle.y1, otherRectangle.x2, otherRectangle.y2);
		else
		{
			System.out.println("Null Object.");
			System.exit(0);
		}
	}

	public void setLocations(double x1, double y1, double x2, double y2) //Public & Helper Method
	{
		if (x1 != x2 && y1 != y2)
		{
			this.x1 = x1;
			this.y1 = y1;
			this.x2 = x2;
			this.y2 = y2;
		}
		else
		{
			System.out.println("Invalid Rectangle.");
			System.exit(0);
		}
	}

	public double calculateWidth() //Public & Helper Method
	{
		return Math.abs(x2 - x1);
	}

	public double calculateHeight() //Public & Helper Method
	{
		return Math.abs(y2 - y1);
	}

	public double calculatePeripheral() //Public & Helper Method
	{
		return 2 * (calculateHeight() + calculateWidth());
	}

	public double calculateArea() //Public & Helper Method
	{
		return calculateHeight() * calculateWidth();
	}

	public boolean equals(Rectangle otherRectangle) //Public Method for compare
	{
		if (otherRectangle != null)
		{
			if (x1 == otherRectangle.x1 && x2 == otherRectangle.x2)
				return true;
		}
		else
		{
			System.out.println("Null Object.");
			System.exit(0);
		}
		return false;
	}

	public String toString() //Public Method for return object properties and ...
	{
		return "x1=" + x1 + " y1=" + y1
			+ " x2=" + x2 + " y2=" + y2
			+ " Width=" + calculateWidth() + " Height=" + calculateHeight()
			+ " Peripheral=" + calculatePeripheral() + " Area=" + calculateArea();
	}

}

public class Main //Rectangle Demo
{
	public static void main(String[] args)
	{
		Rectangle r; //Reserve the variable
		r = new Rectangle(-1, -1, 1, 1); //Create object and let its address in variable

		Rectangle q=new Rectangle(r); //Reserve 'q variable' and copy 'r object' in it
		System.out.println(q.toString()); //Call 'toString Method' of q that return a String

		if (r.equals(q)) //Compare r & q with 'equals Method' of r that return a boolean
			System.out.println("r == q");
		else
			System.out.println("r != q");
	}
}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هفت − دو =