مفاهیم شی گرایی و پیاده سازی آن ها با زبان های ++c و #c و جاوا و پایتون

رمضان عباس نژاد ورزی، جواد وحیدی، همایون موتمنی

ناشر : فناوری نوین

قیمت : ۹۲,۰۰۰ ریال  

خرید نسخه چاپی

افزودن به سبد خرید

اضافه به علاقه مندی ها
  • درباره کتاب
  • درباره نویسنده
  • درباره ناشر
  • نظرات
کتاب مفاهیم شی‌گرایی و پیاده‌سازی آن‌ها با زبان‌های C#، جاوا، C++ و پایتون، شیوه‌ی نوینی از برنامه‌‌نویسی قابل پیاده‌سازی در اغلب زبان‌ها را آموزش می‌دهد.

دیدگاه شی‌‌گرایی از اواسط دهه ۱۹۷۰ تا اواخر ۱۹۸۰ مطرح گردید. در این دوران تلاش‌های زیادی برای ایجاد روش‌های تحلیل و طراحی شی‌گرا صورت پذیرفت. در نتیجه این تلاش‌ها بود که در طول ۵ سال (یعنی ۱۹۸۹ تا ۱۹۹۴)، تعداد متدلوژی‌های شی‌‌گرا از کم‌تر از ۱۰ متدلوژی به بیش از ۵۰ متدلوژی رسید. تکثیر متدلوژی‌ها و زبان‌های شی‌گرایی و رقابت بین آن‌ها به حدی بود که این دوران به عنوان "جنگ متدلوژی‌ها " لقب گرفت.

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

برنامه‌نویسی شی‌گرا در اوایل دهه ۱۹۷۰ توسط آلن کی طراحی شد. یعنی اولین قدم‌های این سبک برنامه‌نویسی توسط آلن کی برداشته شده است. آلن کی گفته بود که: آن چیزی که باعث شد این فکر به ذهنم برسد نحوه عملکرد سلول‌های زیست محیطی بود. یعنی، این سبک برنامه‌‌نویسی از روی سلول‌های جانداران الگوبرداری شده است. آن چیزی که باعث شد که آلن کی از روی سلول‌های جانداران الگوبرداری کند نحوه زندگی سلول‌ها بود:

هر سلول نمونه‌ای از اصل خودش است و هر خصوصیاتی که دارد از اصل خود (ژنتیک سلول) به ارث برده است. همچنین هر سلول رفتارهایی دارد که از اصل خود به ارث برده است. سلول‌ها همگی مستقل از هم زندگی می‌کنند و براساس ارسال پیام‌های شیمیایی با یکدیگر ارتباط برقرار می‌کنند. ارسال پیام به این صورت است که پیام از پوسته یکی خارج و به پوسته دیگری وارد می‌شود. سلول‌ها می‌توانند از یکدیگر متمایز شوند.

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

برنامه‌‌نویسی شی‌‌گرا شیوه‌ی نوینی است که در آن می‌توان قطعاتی را ایجاد کرد و در برنامه‌های مختلف مورد استفاده قرار داد. قابلیت خوانایی برنامه‌هایی که در این روش نوشته می‌شوند بالا بوده، تست، عیب‌یابی و اصلاح آن‌ها آسان است. شی‌گرایی، بر اشیا تاکید دارد. در برنامه‌‌نویسی شی‌گرا اشیا به صورت انتزاع مطرح می‌شوند. انتزاع: به آن چیزی می‌گویند که در مورد آن فکر می‌کنید و در یک دید کلی مطرح می‌کنید. مثلا وقتی به یک دانه شن فکر می‌کنید ناخوداگاه فکرتان به سمت ساحل می‌رود یا وقتی به یک درخت فکر می‌کنید ذهن‌تان به سمت جنگل متمرکز می‌‌شود.

این کتاب شامل ۸ فصل است که فصل‌های اول تا چهارم، مفاهیم از قبیل پیچیدگی، شی‌گرایی، کلاس‌ها، انتزاع و وراثت را مورد بررسی قرار می‌دهد. فصل‌های چهارم تا هشتم به ترتیب مفاهیم بیان شده را با زبان‌های C#، جاوا، C++ و پایتون پیاده‌‌سازی می‌کند.