ارث بری در جاوا

از ویکی کد
(تغییرمسیر از ارث بری در جاوا)
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Java-menu.jpeg
خانه
متدها در جاوا
کلاس‌ها در جاوا
۱برنامه‌نویسی شیءگرایی
۲کلاس‌ها و اشیاء
۳خاصیت‌های کلاس
۴متدهای کلاس
۵سازنده‌ها
۶Modifier ها
۷کپسوله‌سازی
۸پکیج‌ها
۹ارث بری
۱۰چند ریختی
۱۱کلاس‌های داخلی
۱۲مفهوم انتزاعی
۱۳رابط‌ها
۱۴Enum ها
۱۵دریافت اطلاعات از کاربر
۱۶تاریخ و زمان
۱۷ArrayList
۱۸HashMap
۱۹کلاس‌های Wrapper
۲۰خطاهای جاوا
فایل‌ها در جاوا
مرجع جاوا
مثال‌های جاوا

ارث بری در جاوا (کلاس فرزند و کلاس پدر)

در جاوا این امکان وجود دارد که خاصیت‌ها و متدها از یک کلاس به کلاس دیگر ارث بری شوند. ما "مفهوم ارث بری" را به دو دسته تقسیم می‌کنیم:[۱]

  • کلاس فرزند (به انگلیسی: subclass) - کلاسی که خصوصیات را از کلاس دیگر به ارث می‌برد
  • کلاس پدر (به انگلیسی: superclass) - کلاسی که خصوصیات از آن ارث برده می‌شوند

برای ارث بری از یک کلاس، از کلمه کلیدیextendsاستفاده کنید.

در مثال زیر، کلاسCar(کلاس فرزند) متدها و خاصیت‌های خود را از کلاسVehicle(کلاس پدر) ارث بری می‌کند:

مثال

 1 class Vehicle {
 2   protected String brand = "Ford";        // Vehicle attribute
 3   public void honk() {                    // Vehicle method
 4     System.out.println("Tuut, tuut!");
 5   }
 6 }
 7 
 8 class Car extends Vehicle {
 9   private String modelName = "Mustang";    // Car attribute
10   public static void main(String[] args) {
11 
12     // Create a myCar object
13     Car myCar = new Car();
14 
15     // Call the honk() method (from the Vehicle class) on the myCar object
16     myCar.honk();
17 
18     // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class
19     System.out.println(myCar.brand + " " + myCar.modelName);
20   }
21 }

مشاهدهٔ نتیجه

آیا شما متوجه استفاده از protected,modifier در کلاس Vehicle شدید؟

ما modifier دسترسی خاصیت brand در کلاس Vehicle را برابر باprotectedقرار دادیم. اگر این modifier برابر باprivateبود، کلاس Car نمی‌توانست به آن دسترسی پیدا کند.

چرا و چه زمانی می‌بایست از «ارث بری» استفاده کنیم؟

این کار برای بالابردن میزان استفاده دوباره از کد مؤثر است، این کار موجب می‌شود در هنگام ایجاد یک کلاس جدید از متدها و خاصیت‌های کلاس موجود مجدد استفاده شود.

نکته: همچنین نگاهی به فصل آینده که در مورد چند ریختی است و از متدهای ارث بری شده برای انجام کارهای گوناگون استفاده می‌کند، بیندازید.

کلمه کلیدی final

اگر شما می‌خواهید که سایر کلاس‌ها نتوانند از یک کلاس ارث بری کنند، از کلمه کلیدیfinalاستفاده کنید:

اگر شما سعی در دسترسی به یک کلاسfinalکنید، جاوا یک پیغام خطا ایجاد خواهد کرد:

{{کد بد|final class Vehicle {

 ...

}

class Car extends Vehicle {

 ...

}</syntaxhighlight>

خروجی چیزی شبیه به زیر خواهد بود:

Terminal.png The final Keyword

مشاهدهٔ نتیجه

منابع آموزشی