آموزش وراثت در زبان برنامه نویسی پایتون


وراثت در زبان برنامه نویسی پایتون
برای خرید این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

شئ گرایی و کلاس‌ها در زبان برنامه نویسی پایتون


وراثت(Inheritance)


ممکن است ما در برنامه کلاسی تعریف کنیم که عضوهای بسیار زیادی داشته باشد که ویژگی‌های مشترک زیاری نیز دارند. اما برخی از این اعضا علاوه بر ویژگی مشترکی که با دیگر اعضا دارند، ویژگی‌های خاصی نیز دارند. برای مدیریت این گونه اعضا ما نیاز به تعریف کلاس‌های فرزند برای کلاس اصلی خود داریم. برای مثال فکر کنید که ما یک کلاس به نام (وسایل نقلیه) داریم که ویژگی اصلی همه اعضای این کلاس قابلیت جا به جا کردن انسان‌ها است. اما ممکن است برخی از این اعضا دو چرخ داشته باشند و برخی دیگر چهار چرخ، پس در این صورت ما نیاز به تعریف دو کلاس فرزند به نام (دو چرخ‌ها) و (چهار چرخ‌ها) داریم.
حالا قرار است که ما یک کلاس به عنوان شخص (person) تعریف کنیم که فرزندان این کلاس معلم‌ها (teache) ، دانش‌آموزان (student) و کارمندان (employee) هستند. ویژگی مشترک همه این کلاس ها این است که همه آنها نام، نام خانوادگی و سن دارند اما معلم علاوه بر این کد استادی دارد، دانش‌آموز معدل دارد و کارمند مقدار حقوق دارد. برای نوشتن چنین کلاسی باید متغیر نام، نام خانوادگی و سن را درون کلاس والد (person) قرار دهیم و برای ویژگی خاص هر یک از کلاس‌های فرزند متغیری درون آنها تعریف کنیم.
نکته قابل توجه درباره کلاس‌ها این است که کلاس فرزند به همه توابع کلاس والدش دست رسی داشته و همه ویژگی‌های آنرا به ارث می‌برد.
برای این که یک کلاس فرزند کلاس دیگر شناخته شود باید در مقابل آن کلاس نام کلاس والدش را درون پرانتز قرار دهیم. در مثال زیر کلاس (teacher) فرزند کلاس (person) است.
 
class person:
class teacher(person):
 
توجه داشته باشید زمانی که ما یک کلاس فرزند تعریف می‌کنیم باید ابتدا نیازهای تابع والدش را برای آن ارسال کنیم. برای این کار باید متغیرهای مورد نیاز را برای تابع سازنده کلاس والد ارسال کنیم سپس متغیر خاص خودش را پر کنیم و به شکل زیر عمل می‌کنیم.
class person:
	def __init__(self,name,family,age)
	self.Name=name
	self. Family = family
self. Age = age

class teacher(person):
	def __init__(self,teachercod,name,family,age)
	person.__init__(self,name.family,age)
	self.Teachercod= teachercod

حالا باید برای هر یک از کلاس‌ها تابعی برای چاپ کردن اطلاعات تعریف کنیم. توجه داشته باشید که اطلاعات عمومی باید توسط تابع والد و اطلاعات خصوصی را توسط هریک از تابع‌ها چاپ کنیم.

class person:
	def __init__(self,name,family,age)
	self.Name=name
	self. Family = family
self. Age = age
def printpersoninfo(self):
	print(self.Name)
	print(self. Family)
	print(self. Age)

class teacher(person):
	def __init__(self,teachercod,name,family,age)
	person.__init__(self,name.family,age)
	self.Teachercod= teachercod
def printteacherinfo(self):
	print(self.Teachercod)

t= teacher(101,"Mehdi","Abbasi",38)
t. printpersoninfo()
t. printteacherinfo()

 

کاربران و همراهان همیشگی درسمن، اگر از دوره آموزش پایتون راضی بودید نظر خود را در قسمت تالار گفت وگو بنویسید، از تعامل و همکاری شما ممنونیم .

نظرات


فائزه  صادقی
faeze عالی بود

برای پاسخ باید وارد شوید

پشتیبانی 1
پشتیبانی 1

سلام وقت بخیر، متشکریم.

اگر سوالی داشتید پاسخ گو هستیم.

nophoto
علیرضا توضیحاتتون خیلی واضح و شفاف بود ... ممنون استاد

برای پاسخ باید وارد شوید

پشتیبانی 1
پشتیبانی 1 خواهش می کنیم، موفق و پیروز باشید.

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 20 جلسه
مدت زمان 525 دقیقه
حجم دوره 1/04 گیگابایت
سطح مهارت مقدماتی تا پیشرفته
وضعیت دوره پایان یافته
تعداد دانشجویان 1559
: میانگین امتیاز

رایگان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در ... ر انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.بیشتر بدانید