جلسه سی و دوم

شی گرایی – وراثت

 

اگر کلاسی که می نویسید نسخه تخصصی کلاس دیگری است، می توانید از وراثت استفاده کنید. وقتی یک کلاس از کلاس دیگر ارث می برد، به طور خودکار تمام ویژگی ها و متدهای کلاس والد را می گیرد. کلاس فرزند در معرفی ویژگی‌ها و متدهای جدید و لغو ویژگی‌ها و متدهای کلاس والد آزاد است. برای ارث بردن از کلاس دیگر، هنگام تعریف کلاس جدید، نام کلاس والد را در پرانتز قرار دهید.

وراثت (Inheritance)

وراثت (Inheritance) یک مفهوم اساسی در برنامه نویسی شی گرا است. وراثت به شما امکان می دهد تا یک کلاس جدید را بر اساس کلاس موجود ایجاد کنید. این کلاس جدید به عنوان کلاس فرزند (child class) شناخته می شود و کلاس موجود به عنوان کلاس پدر (parent class) یا کلاس پایه (base class) شناخته می شود.

 

کلاس فرزند به طور خودکار تمام خصوصیات (attributes) و رفتارها (methods) کلاس پدر را به ارث می برد. همچنین می تواند خصوصیات و رفتارهای جدید خود را اضافه کند یا رفتارهای موجود را بازنویسی (override) کند.

اینجا یک مثال ساده از وراثت در پایتون آورده شده است:

در این مثال:

 

– کلاس Animal به عنوان کلاس پدر تعریف شده است.

– کلاس Dog به عنوان کلاس فرزند از Animal ایجاد شده است.

– کلاس Dog متد speak را بازنویسی کرده است تا رفتار متفاوتی از کلاس پدر نشان دهد.

– هنگام ایجاد شیء dog از کلاس Dog، متد speak کلاس فرزند فراخوانی می شود.

– هنگام ایجاد شیء animal از کلاس Animal، متد speak کلاس پدر فراخوانی می شود.

 

وراثت یک ویژگی قدرتمند در برنامه نویسی شی گرا است که به شما امکان می دهد کد را سازماندهی، مدیریت و توسعه دهید. این به شما کمک می کند تا از تکرار کد جلوگیری کنید و کد را سازگارتر و قابل تعمیم تر کنید.

مثال بررسی شده