کلاس مربع یا Square با ارث بری از کلاس مستطیل یا Rectangle در جاوا :
در زبان برنامهنویسی جاوا، ارث بری یکی از مفاهیم مهم و قدرتمند است که برای ایجاد ساختار و سازماندهی مناسب کدها استفاده میشود. با استفاده از ارث بری، میتوانیم کدهای مشابه و تکراری را در کلاسهای مختلف به اشتراک بگذاریم و کد را قابل خوانایی و نگهداری کنیم. یکی از مثالهایی که میتوان از ارث بری در جاوا استفاده کرد، استفاده از کلاس مستطیل و کلاس مربع است.
کلاس مستطیل و کلاس مربع دو کلاس مرتبط هستند که هردو ویژگیها و عملکردهای مشابهی دارند. اما کلاس مربع مخصوصاً برای مستطیلی استفاده میشود که ارتفاع و عرض آن برابر باشد. بنابراین، میتوانیم با استفاده از ارث بری، کدهای مشترک بین این دو کلاس را به اشتراک بگذاریم و از آنها استفاده کنیم.
برای شروع، کلاس مستطیل را تعریف میکنیم. این کلاس دارای دو خصوصیت (ارتفاع و عرض) و دو روش (محاسبه مساحت و محاسبه محیط) است. در اینجا فقط به عنوان مثال، از نامهای متغیرها و روشها استفاده میکنیم:
“`java
public class Rectangle {
int height;
int width;
public int calculateArea() {
return height * width;
}
public int calculatePerimeter() {
return 2 * (height + width);
}
}
“`
حالا، میتوانیم کلاس مربع را تعریف کنیم که از کلاس مستطیل ارث برده است. در اینجا، فقط نیاز به تعریف یک خصوصیت (طول ضلع) و یک روش (محاسبه مساحت) داریم. روشهای محاسبه محیط و مربعیت کلاس مستطیل به طور خودکار به ارث برده میشوند:
“`java
public class Square extends Rectangle {
int side;
public int calculateArea() {
return side * side;
}
}
“`
حالا، میتوانیم یک شی از هر کلاس بسازیم و از روشهای آن استفاده کنیم:
“`java
public class Main {
public static void main(String[] args) {
Rectangle rectangle = new Rectangle();
rectangle.height = 5;
rectangle.width = 10;
System.out.println(“Area of rectangle: ” + rectangle.calculateArea());
System.out.println(“Perimeter of rectangle: ” + rectangle.calculatePerimeter());
Square square = new Square();
square.side = 5;
System.out.println(“Area of square: ” + square.calculateArea());
System.out.println(“Perimeter of square: ” + square.calculatePerimeter());
}
}
“`
خروجی اجرای این کد به صورت زیر خواهد بود:
“`
Area of rectangle: 50
Perimeter of rectangle: 30
Area of square: 25
Perimeter of square: 20
“`
به طور خلاصه، با استفاده از ارث بری در جاوا، میتوانیم کدهای مشترک بین کلاسها را به اشتراک بگذاریم و کد را بهبود بخشیم. در مثال بالا، با ارث بری از کلاس مستطیل در کلاس مربع، تعداد خطوط کد کم شده است و کد به شکلی سادهتر قابل فهم است.