آموزش مقدماتی پایتون | شیء گرایی

شیء گرایی

همه مفاهیمی که تا اینجا یاد گرفتید برای برنامه نویسی یک پروژه کافی هست. اما وقتی پروژه شما خیلی بزرگ و پیشرفته می شود، به روش هایی نیاز دارید که بتوانید کد های خود را به صورت منظم تر و دسته بندی شده بنویسید. شیء گرایی در واقع یکی از همین روش هاست که به شما اجازه میدهد بخش های مختلفی از یک پروژه که به هم مرتبط هستند را در دسته بندی هایی جداگانه قرار دهید. به این ترتیب، هم پروژه های شما منظم تر می شوند، هم کل پروژه به چند دسته بندی کلی تقسیم می شود و راحت تر می توان به بخش مورد نظر رجوع کرد و هم قابلیت رفع اشکال و ارتقاء پروژه خیلی ساده تر خواهد شد.

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

همانطور که متوجه شدید، در توضیح دادن ملزومات این پروژه هم ساده تر بود که اطلاعات مربوط به دانش آموز، درس و معلم را به صورت جداگانه مشخص کنیم و هر کدام را در یک دسته بندی قرار دهیم. این همان تفکر شیء گرایی است.

دقیقاً مانند مفهومی که درباره توابع یاد گرفتیم، هدف این بود که بتوانیم کد های خود را درون یک بخش جداگانه بنویسیم و هر بار فقط با صدا زدن نام تابع آن کد را اجرا کنیم. در مورد شیء گرایی نیز هدف ما همین است که بخش های بزرگی از کد خود را درون یک کلاس قرار دهیم و هر بار برای دسترسی به آن اطلاعات به نحوی که توضیح می دهیم، آن کلاس را صدا بزنیم.

هر کلاس یک نام مشخص دارد و مشخص کننده یک دسته بندی خاص است. مثلاً در مورد پروژه مدیریت مدرسه، سه کلاس برای دانش آموز، درس و مدرس داریم.

مفهوم دیگری به نام شیء نیز داریم. هر شیء یک نمونه از یک کلاس است. مثلاً در کلاس دانش آموز، هر کدام از دانش آموزان یک شیء هستند. کلاس ها ویژگی های کلی هر شیء را مشخص می کنند و هر شیء می تواند مقدار متفاوتی برای آن ویژگی ها داشته باشد.

مثلاً دانش آموزان یک سری ویژگی مشترک مانند نام، سن، قد، وزن، معدل و … دارند. اما هر دانش آموز مقدار متفاوتی برای این ویژگی ها دارد. این تعریف کلی کلاس ها و اشیاء است.

یا مثلاً تمام ماشین ها یک سری ویژگی مشترک مثل نوع، سال ساخت، رنگ، نوع موتور و … دارند اما هر ماشین مقدار متفاوتی برای این ویژگی ها دارد. 

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

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2
  • 3
  • 4
  • 5