خرید بک لینک

شی گرایی چیست؟ در این گزارش با جزئیات بیشتری بررسی شده و مهم‌ترین نکات مرتبط با این موضوع ارائه می‌شود.

مطالعه‌ی مقالات بالا نیز در راستای تکمیل دانسته‌هایتان به شما توصیه می‌شود، اما ادامه‌ی این آموزش:

همانطوری که اظهار داشتیم در برنامه‌نویسی شی گرا، برنامه را شبیه به دنیای اطراف و زندگی روزمره خودمان می‌بینیم، در حقیقت برپایه‌ی مدل‌سازی اشیا.

این موضوع را با یک مثال برای شما شرح می‌دهیم:

یک خودرو را به عنوان یک شئ در نظر بگیرید، ویژگی‌هایی مانند رنگ، وزن، سرعت و… از جمله مواردی هستند که می‌توان به عنوان ویژگی‌های یک خودرو در نظر گرفت، همچنین یک خودرو مجموعه رفتارهایی مانند، حرکت کردن، ترمز گرفتن، بوق زدن و… را نیز از خود نشان می‌دهد.

به هر موجودیتی که دارای خصوصیت، اطلاعات، وضعیت یا رفتار خاصی باشد یک شئ یا Object اظهار داشته می‌شود، این آبجکت را می‌توان به صورت فیزیکی یا منطقی در نظر گرفت.

به اطلاعات و ویژگی‌های موجود برای یک شئ خصوصیت یا Atribute می‌گویند و اعمالی که یک شئ می‌تواند از خود بروز دهد رفتار یا Behavior نام دارند.

در مثال بالا خودرو را به عنوان یک شئ یا Object در نظر بگیرید، خصوصیات این شئ عبارتند از رنگ، سرعت و… که همان Attributeها هستند، همچنین اعمالی مانند حرکت کردن، بوق زدن و… رفتارها یا Behavior‌های این شئ نامیده می‌شوند.

در ادامه بیشتر با این مفاهیم در برنامه‌نویسی آشنا خواهیم شد و ارتباط آن‌ها را با برنامه‌نویسی شئ‌گرا بیان خواهیم کرد، اما در ابتدا بیایید با چند مفهوم دیگر در شئ‌گرایی آشنا شویم.

به زبان ساده می‌توان کلاس را به عنوان قالبی برای اشیا در نظر گرفت، مثلا خودروی BMW یک نمونه شئ از کلاس خودرو است، کلاس‌ها معمولا در بردارنده‌ی خصوصیات و رفتار اشیا هستند، مثلا کلاس خودرو دربردارنده‌ی ویژگی‌های یک خودرو مثل سرعت، وزن، رنگ و… است و هر مدل خودرویی که از این کلاس در نظر بگیریم تمامی ویژگی‌های اظهار داشته شده در کلاس را درون خود خواهد داشت، برای درک بهتر این مفهوم تصویر زیر را ببینید:

کلاس خوردو، شامل خصوصیات و رفتارها

در حالت عادی شما کل برنامه را در قالب دستورات و توابع پشت سر هم می‌نویسید (Procedural) و برای تغییر هرچیزی از برنامه احتیاج دارید تا کل ساختار برنامه را بررسی کرده و موارد مورد نیاز را تغییر دهید.

فرض کنید در حال نوشتن برنامه‌ای در خصوص مدیریت خودروها هستید، شما برای هر مدل خودرو چندین خط کد می‌نویسید، در ادامه تصمیم می‌گیرید ویژگی جدیدی به خودروهای خود اضافه کنید، مثلا میزان شتاب خودرو، در این صورت باید کل دستورات برنامه را جستجو کرده و در تمام خطوط این ویژگی جدید را به تمامی خودروها اضافه کنید.

اما اگر برنامه‌ی خود را با استفاده از مفهوم شئ‌گرایی نوشته باشید در این صورت تنها کافیست این ویژگی (Attribute) جدید را به کلاس اصلی برنامه اضافه کنید تا سایر اشیا (خودروها) نیز این ویژگی جدید را به ارث ببرند و آن را درون خود داشته باشند، در این صورت دیگر احتیاجی نیست تک به تک خطوط برنامه را دستخوش تغییر کنید.

علاوه بر آن به دلیل ویژگی‌های خاصی که در برنامه‌نویسی شئ‌گرا حاکم است، دسترسی به داده‌های درون کلاس از بیرون امکان‌پذیر نیست و این مورد می‌تواند در حفظ امنیت برنامه‌ها به شما کمک کند.

به نقل از ویکی‌پدیا، برنامه‌نویسی شی‌گرا یک شیوه برنامه‌نویسی است که ساختار یا بلوک اصلی اجزای آن، شی‌ها می‌باشند. در واقع در این شیوه برنامه‌نویسی، برنامه به شی گرایش پیدا می‌کند. به این معنا که داده‌ها و توابعی که قرار است بر روی این داده‌ها عمل کنند، تا حد امکان در قالبی به نام شی در کنار یکدیگر قرار گرفته، جمع‌بندی شده و یک واحد (شی) را تشکیل داده و نسبت به محیط بیرونِ خود، کپسوله می‌شوند و از این طریق، توابع بیگانهٔ خارج از آن شی، دیگر امکان ایجاد تغییر در داده‌های درون آن شی را ندارند.

به زبان بسیار ساده، اشیا خصوصیات و رفتارها را از کلاس والد خود به ارث می‌برند، به عنوان مثال خودروی BMW خصوصیاتی مانند سرعت، وزن، رنگ و… را از کلاس اصلی (والد) خود به ارث برده است، هر شئ دیگری نیز از این کلاس بسازید این ویژگی‌ها را در خود دارد، یک کلاس می‌تواند تعدادی ویژگی را از کلاس دیگری به ارث ببرد، در این صورت شئ ساخته شده از کلاس جدید، ویژگی‌های هردو کلاس را در خود خواهد داشت، این مفهوم را ارث‌بری می‌نامیم.

همانطور که بالاتر اشاره کردیم داده‌های موجود در کلاس از بیرون قابل دستیابی نیستند و این مفهوم به کمک وضعیت Private برای داده‌ها امکان‌پذیر خواهد بود، در حالت کلی حالات مختلفی برای داده‌ها قابل استفاده است، حالت Private یعنی داده‌ها تنها داخل کلاس شناخته‌شده هستند و در خارج از کلاس امکان مشاهده و تغییر آن‌ها وجود نخواهد داشت، اما در نقطه‌‌ی مقابل در حالت Public است که اطلاعات موجود در کلاس در خارج از بدنه‌ی کلاس نیز قابل دستیابی و تغییر هستند.

حال که تا حدودی با مفهوم کلاس‌ها آشنا شدیم، یک نمونه کلاس نوشته شده را در قطعه کد زیر مشاهده کنید:

اگر به این قطعه کد دقت کنید و آن را با تصویر بالا (خودرو) مقایسه کنید شباهت آن‌ها را خواهید یافت.

هرچند برنامه‌نویسی شئ‌گرا در ابتدا شاید کمی پیچیده به نظر برسد و احتیاج به تجزیه تحلیل‌های اولیه‌ی برای پیاده‌سازی برنامه داشته باشد، اما در دراز مدت و در مراحل تست و نگه‌داری برنامه به شدت به کمک شما خواهد آمد، از ویژگی‌های برنامه‌نویسی شئ‌گرا می‌توان به موارد زیر اشاره کرد:

همانطور که در ابتدای مقاله اظهار داشتیم برنامه‌نویسی شئ‌گرا به شدت به دنیای واقعی ما انسان‌ها شباهت دارد و معمولا ساده‌تر توسط ذهن درک می‌شود، بنابراین سعی کنید تا حد ممکن برنامه‌های خود را با استفاده از اصول شئ‌گرایی نوشته و به دنیای برنامه‌نویسان حرفه‌ای نزدیک‌تر شوید.

جمع‌بندی: اطلاعات ارائه‌شده، مهم‌ترین بخش‌های این موضوع را مرور می‌کند.

برچسب: نویسنده: نگار اکبری‌پور تاريخ: شنبه 27 تير 1405 ساعت: 2:58

صفحه بندی