به دوره آموزش پایتون خوش آمدید. برای رفتن به اولین جلسه این دوره، اینجا کلیک کنید. جلسه قبل درمورد کتابخانه time و winsound صحبت کردیم. در این بخش میخواهیم بدانیم که شی گرایی چیست و چرا انقدر مهم است؟ همچنین باید بدانیم که شی گرایی مبحث سخت و پیچیده ای نیست. کافیست یک بار معنی و مفهوم آن را درک کنیم و سپس بار ها از آن استفاده کنیم تا برایمان جا بیفتد. شی گرایی روشی است که کمک میکند کد ها را به نحوی پیاده سازی کنیم که به مفاهیمی که در دنیای واقعی وجود دارد نزدیک شود.
به هر شی یک آبجکت (object) گفته میشود. هر شی دو عامل اساسی دارد: ۱ – خصوصیات ۲ – رفتار
برای درک این موضوع بهتر است اینگونه مثال بزنم که یک شی مثل اتوموبیل یک سری خصوصیات دارد مثل رنگ، وزن، جنس صدای بوق، حداکثر سرعت، شتاب و … همچنین یک سری رفتار دارد مثل گاز دادن، حرکت کردن، حرکت با دنده عقب، بوق زدن و …
به این خصوصیت ها اتریبیوت (Attribute) و به رفتار ها Behavior میگویند. زمانی که قرار است ماشین های مختلفی را تولید کنیم ابتدا باید کلاس ماشین را بنویسیم. در این کلاس مشخص میکنیم که یک ماشین چه خصوصیت و رفتار هایی دارد. پس از آن میتوانیم به راحتی هر تعداد ماشین که میخواهیم از روی آن بسازیم. به این کارخانه ماشین سازی، کلاس و به ماشین های تولید شده، آبجکت میگویند.
شی گرایی کمک میکند تا سریع تر و راحت تر مباحث پیچیده ای را پیاده سازی کنیم که اگر شی گرایی نبود باید چند برابر حالت قبل کد نویسی میکردیم. در زبان پایتون برای پیاده سازی خصوصیات یا اتریبیوت های یک شی از متغیر و برای نوشتن رفتار ها از متد یا همان تابع استفاده میکنیم. برای مثال وقتی بخواهیم کلاس انسان را بنویسیم، در بدنه این کلاس یک متغیر برای سن در نظر میگیریم و نام آن را Age میگذاریم. میتوانیم برای این انسان یک رفتار مانند پریدن بنویسیم. در این صورت باید این کار را با نوشتن یک تابع برای مثال jump() انجام دهیم. با صدا زدن این تابع، کد هایی که در بدنه آن تابع نوشته شده است اجرا میشوند.
فرض کنید نام یکی از آبجکت های این کلاس، obj میباشد. برای فهمیدن سن این آبجکت کافیست بنویسیم print(obj.Age) و برای این که این شی عمل پریدن را انجام دهد مینویسیم obj.jump() . دقت کنید که خصوصیات آبجکت از نوع متغیر است و هیچ پرانتزی ندارد ولی برای صدا کردن رفتار ها باید از پرانتز استفاده کنیم.
در جلسات بعدی این مبحث را کامل تر یاد میگیریم و با مثال های عملی بهتر درک میکنیم. همراه ما باشید.
در جلسه بعد درمورد شروع کار با شی گرایی صحبت خواهیم کرد.