رازهای برنامه نویسی شیءگرا
در بخش قبلی مقدمات و مفاهیم اولیه برنامه نویسی شیءگرا را توضیح دادیم. درباره اشیاء، ویژگی های آن ها، کلاس هر شیء و رفتار یا متد صحبت کردیم.
اصول برنامه نویسی شیءگرا:
کپسوله سازی
در برنامه نویسی شیءگرا یک سری اصول وجود دارد که باید آن ها را رعایت کنیم. یکی از این اصول “کپسوله سازی” است. دقیقاً مثل انواع داروهایی که به شکل کپسول ارائه می شوند و پودر حاوی مواد دارویی داخل یک پوشش پنهان و دور از دسترس است عمل می کند. در برنامه نویسی شیءگرا کپسول ها حاوی متغیرها و متدهای خصوصی هر شیء هستند.
کپسوله سازی برای این است که برنامه را آسان تر پیش ببریم. با کپسوله سازی بخشی از اطلاعات مربوط به اشیاء همان ابتدای کار کنار می روند و از دید باقی اشیاء پنهان می شوند. یعنی اطلاعات داخل کپسول نه در دسترس اشیاء دیگر قرار می گیرد و نه اشیاء دیگر می توانند روی آن ها تاثیر بگذارند. مثلاً صدای بوق ماشین هیچ وقت توسط اشیاء دیگر قابل تغییر نیست. اما متد بوق ماشین می تواند با نزدیک شدن به یک عابر پیاده به وضعیت انتشار صدای بوق برای چند ثانیه تغییر کند. پس صدای بوق داخل کپسول بسته بندی می شود ولی متد بوق زدن ماشین به شکل عمومی در دسترس سایر اشیاء قرار می گیرد.
وراثت
در روش شیءگرا می توانید اشیاء جدیدی ایجاد کنید که فرزند اشیاء دیگر هستند. فرزند بودن یعنی ویژگی های اشیاء دیگر را که والدین آن ها هستند را دارند. مثلاً کلاس یکسان دارند، رفتار مشابه دارند. البته جدا از ویژگی های مشترک با والدین می توانند ویژگی های مختص خود را هم دارا باشند و همچنین رفتارهای دیگر هم از خود نشان دهند.
مثلاً یک ماشین مدل iCar که سال تولیدش 1404 باشد، رنگش بنفش باشد و سایر ویژگی ها مثل وزن مثل والدش باشد. از نظر رفتاری می تواند دارای صدای بوق متفاوت باشد یا در حرکت، سرعت بیشتری داشته باشد. پس مجموعه ای از ویژگی ها و رفتارها را از والد خود به ارث برده است.
چند ریختی
چندریختی، یعنی یک متد یا رفتار یکسان در بین چندین کلاس مختلف شکل متفاوتی در خروجی داشته باشد. مثلاً متد یا رفتار ترمز کردن در کلاس ماشین، در هر مدل ماشین می تواند متفاوت باشد. یکی ترمز هیدرولیک دارد و دیگری تکنولوژی دیگری. همه آن ها در موقعیت دیدن یک مانع ترمز می گیرند اما هر کدام به شکل متفاوتی این رفتار را انجام می دهند. مثال دیگر رفتار بوق زدن است. همه ماشین ها دارای متد بوق زدن هستند و هر گاه در موقعیت بوق زدن قرار بگیرند بوق می زنند. اما هر کدام صدای بوق مخصوص به خود را پخش می کنند.
انتزاع
در این اصل، اشیاء ساده سازی می شوند. ما با روش انتزاع به جزئیاتی که نقشی در برنامه ندارند توجه نمی کنیم و آن ها را کنار می گذاریم. مثلاً یک ماشین حرکت می کند، ترمز می کند، بوق می زند. خیلی اتفاقات دیگر هم داخل موتور ماشین و اجزاء داخلش می افتد. اما با روش انتزاع از آن ها صرف نظر می کنیم. دلیل این کار رسیدن به یک تفسیر ساده از اشیاء است. ساده کردن رفتارها و ویژگی های بی اهمیت و اضافه در برنامه را حذف می کند و برنامه نویسی برای آن شیء را آسان تر می کند.
نتیجه گیری
این هم از اصول برنامه نویسی شیءگرا. شاید تا اینجا کمی در فکر فرو رفته باشید. مثلاً با خودتان بگویید این همه تعریف و روش های مختلف… چه کسی حال این همه فکر کردن را دارد؟ بله، حق با شماست. آماده سازی اولیه برای برنامه نویسی شیءگرا زمان بیشتری می گیرد. اما در طول طراحی برنامه پیچیده درک شما را از آنچه در حال اتفاق افتادن است بیشتر می کند. به نظرم ذهن شما را نسبت به برنامه تان مرتب تر می کند. اگر بخواهید برنامه خود را به افراد دیگر ارائه دهید یا آن را آموزش دهید یا مجدد از آن استفاده کنید خیلی برایتان آسان تر خواهد بود.
درباره زهره دارابیان
من تی تی ام. تی تی در زبان گیلکی به معنای شکوفه ست. در انگلیسی کوتاه شده Teacher Technologist ست. به معنای معلم فناور یا معلمی که به تکنولوژی علاقمنده یا موضوعات تکنولوژی رو درس میده. همیشه علاقمند به یادگیری ام و همین طور یاددادن. کار من ساده کردن دنیای علم و تکنولوژی هست. برای همین اینجام می نویسم، محصولات کمک آموزشی، روش های یادگیری و دوره های آموزشی جذاب طراحی می کنم. اینجا کلاس درسی ست به وسعت همه ایران. به دنیای یادگیری با آیکد همراه با تی تی خوش اومدید!
نوشتههای بیشتر از زهره دارابیان
دیدگاهتان را بنویسید