انواع مختلف اشیا اغلب نقاط مشترک زیادی با هم دارند. دوچرخههای کوهستان، جاده و دوبل، همه ویژگیهای دوچرخه (سرعت فعلی، سرعت پدال فعلی، دنده فعلی) را دارند. اما هر کدام ویژگیهای اضافی دارند: دوچرخههای دوبل دو صندلی و دو دسته فرمان دارند؛ دوچرخههای جاده دسته فرمان خمیده دارند؛ برخی دوچرخههای کوهستان یک زنجیر اضافی دارند که نسبت دنده پایینتری به آنها میدهد.
برنامهنویسی شیگرا به کلاسها اجازه میدهد وضعیت و رفتار مشترک را از کلاسهای دیگر ارث ببرند. در این مثال، Bicycle اکنون Superclass کلاسهای MountainBike، RoadBike و TandemBike است. در زبان جاوا، هر کلاس حداکثر یک Superclass مستقیم دارد و هر Superclass پتانسیل تعداد نامحدودی Subclass دارد.
نحوه ساخت Subclass ساده است. در ابتدای تعریف کلاس، از کلمه کلیدی extends و سپس نام کلاسی که از آن ارث میبرید استفاده کنید:
class MountainBike extends Bicycle {
// فیلدها و متدهای جدید
// تعریف دوچرخه کوهستان
// اینجا قرار میگیرند
}
این به MountainBike تمام فیلدها و متدهای Bicycle را میدهد، اما کد آن فقط روی ویژگیهای منحصربهفرد خودش تمرکز میکند. این باعث میشود کد Subclassها خوانا باشد. اما باید مراقب مستندسازی صحیح وضعیت و رفتاری باشید که هر Superclass تعریف میکند، چون آن کد در فایل منبع هر Subclass ظاهر نمیشود.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://dev.java/learn/