سفارش تبلیغ
صبا ویژن
برنامه نویسی شی گرا چیست ؟ (جمعه 87/4/21 ساعت 2:26 عصر)

از آنجایی که اساس تکوین c++ برنامه نویسی شی گرا است . پس مهم است که تعریف دقیقی را از برنامه نویسی شی گرا ارائه دهیم . شی گرا از بهترین مفاهیم برنامه سازی ساخت یافته بوجود آمده است و با چندین مفهوم قوی ترکیب شده که امکان سازماندهی برمانه ها به طور کارامد را فراهم می کند . به طور کلی هنگامی که در حالتی شی گرا نیز برنامه می نویسید مساله را به بخش های تشکیل دهنده آن تجزیه می کنید . هر مولفه ای یک شی خود ظرف می شود . که شامل دستور العملهای خودش و داده های مرتبط به آن شی است . از طریق این عملیات پیچیدگی کاهش یافته و می توان برنامه های بزرگ را مدیریت کرد . همه زبان های برنامه نویسی شی گرا در سه چیز مشترک هستند : کپسوله سازی . چند ریختی و وراثت . که در زیر اشاره مختصری به هر یک از آنها می کنیم .





شی ء (جمعه 87/4/21 ساعت 2:25 عصر)

یک شی یک نمونه واقعی از یک کلاس است . همانگونه که در C (زبان غیر شی گرا ) می توان متغیر یا متغیر هایی از یک نوع مثلا int تعریف کرد و این متغیر هارا پردازش نمود . در یک زبان شی گرا میتوان شی یا اشیایی را از یک کلاس تعریف کرد . این اشیا موجودیت واقعی پیدا می کنند و قابل پردازش هستند . همانطور که یک انسان خاص . از کلاس انسانها موجودیت واقعی پیدا می کند و فعالیت می کند تغذیه می کند و… در چارچوب یک زبان شی گرا به متغیر های یک نوع داده نیز اشیا میگویند . هر شی داده مخصوص به خود دارد که متغیر های عضو یا داده های عضو نامیده می شوند .
تاریخچه:
دیدگاه شی‌گرایی ( Oriented) از اواسط دهه ???? تا اواخر دهه ???? در حال مطرح شدن بود. در این دوران تلاشهای زیادی برای ایجاد روشهای تحلیل و طراحی شی‌گرا صورت پذیرفت. در نتیجة این تلاشها بود که در طول ? سال یعنی ???? تا ????، تعداد متدولوژیهای شی‌گرا از کمتر از ?? متدولوژی به بیش از ?? متدولوژی رسید. تکثر متدولوژیها و زبانهای شی‌گرایی و رقابت بین اینها به حدی بود که این دوران به عنوان “جنگ متدولوژیها” لقب گرفت. از جمله متدولوژیهای پرکاربرد آن زمان می‌توان از Booch، OOSE، OMT، Fusion، Coad-Yourdan، Shlayer-Mellor وغیره نام برد. فراوانی و اشباع متدولوژیها و روشهای شی‌گرایی و نیز نبودن یک زبان مدلسازی استاندارد، باعث مشکلات فراوانی شده بود. از یک طرف کاربران از متدولوژیهای موجود خسته شده بودند، زیرا مجبور بودند از میان روشهای مختلف شبیه به هم که تفاوت کمی در قدرت و قابلیت داشتند یکی را انتخاب کنند. بسیاری از این روشها، مفاهیم مشترک شی‌گرایی را در قالبهای مختلف بیان می‌کردند که این واگرایی و نبودن توافق میان این زبانها، کاربران تازه‌کار را از دنیای شی‌گرایی زده می‌کرد و آنها را از این حیطه دور می‌ساخت. عدم وجود یک زبان استاندارد، برای فروشندگان محصولات نرم‌افزاری نیز مشکلات زیادی ایجاد کرده بود.

در این تحقیق شی گرایی را در دو زبان برنامه نویسی ( C++ و C# ) مورد بررسی قرار می دهم و شی گرایی و موارد آن را در هر یک به اختصار توضیح می دهم .

در ابتدا نگاهی می اندازیم به این خاصیت در زبان برنامه نویسی C++ و در ادامه شی گرایی را در زبان C# مورد بررسی قرار میدهیم وسپس لیست برخی ازبرنامه های شی گرا را ذکر می کنیم .

C++





کلاس (جمعه 87/4/21 ساعت 2:23 عصر)

کلاس روشی برای بسته بندی نوع داده مجرد است . در کلاس امکان بسته بندی و محصور کردن (Encapsulation ) مجموعه ای از داده ها . روال های پردازش کننده این داده ها را به صورت یک بسته واحد فراهم می کند .
داده های داخل یک کلاس به وسیله کلاس محافظتمی گردد . به گونه ای که پردازش داده های خصوصی یک کلاس تنها از طریق روال های داخلی آن امکان پذیر است . داده های یک کلاس را متغیر های کلاس و روال های آن را روش نامیده اند . برای مثال . کلاس انسان ها یک کلاس قابل تعریف است . در این کلاس خصوصیات مشترک انسان ها تعریف می گردد و هیچ انسان خاصی را نشان نمی دهد . کلاس یک نوع است . همانگونه که مثلا int یک نوع است .
عملیات محاسباتی ( یا غیر محاسباتی ) بر روی نوع داده انجام نمی شود . بلکه این عملیات بر روی متغیرهایی که از این نوع داده تعریف می گردد انجام می شود . بطور مشابه عملیات محاسباتی ( یا غیر محاسباتی ) روی کلاس انجام دهیم. نمی شود




مقدمه ای در مورد شی گرا (جمعه 87/4/21 ساعت 2:21 عصر)

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




<      1   2      
 
  • بازدیدهای این وبلاگ ?
  • امروز: 3 بازدید
    بازدید دیروز: 0
    کل بازدیدها: 14814 بازدید
  • درباره من
  • اشتراک در خبرنامه
  •