مفاهیم شیء گرایی

چهارشنبه 15 خرداد 1392

مفاهیم شیء گرایی <br/> مفاهیم اولیه شیء گرایی

مفاهیم اولیه شیء گرایی:

1- Object (شیء): انسان، جسم، اشیاء و هر آنچه که سیستم می‏خواهد در مورد آن اطلاعاتی داشته باشد.

2- Class (کلاس): مجموعه‏ای از اشیاء که با هم در ارتباطند.

3- Attribute (خصوصیات): مشخصاتی از یک شیء که آن را از یک شیء دیگر مجزا می‏کند.

4- Relation (ارتباط): می‏تواند میان اجزای مختلف یک سیستم بوجود آید و دارای انواع مختلفی هستند.



 


مفاهیم شیء گرایی:

1- Abstraction تجرید (مجرد سازی): اولین مفهوم شیء گرایی است و به این معنا می‏باشد که هر آنچه در غالب یک شیء یا عملیات بیان می‏شود، به تنهایی دقیق و کامل است.

 

2- Encapsulation کپسوله سازی (بسته بندی): بدین معناست که دستورات و بخشهای مختلف یک برنامه از دید کاربر پنهان می‏گردد. با کپسوله سازی، دخل و تصرف در برنامه‏ها کاهش می‏یابد و ما را از پرداختن به ريز موضوعات رها می‏كند. مثال: جمع آوری کلاس‏ها در یک فایل DLL.

 

3- Inheritance وراثت (ارث بری): وراثت اجازه می‏دهد تا مفاهیم جدید بر اساس مفاهیم موجود تولید گردد. بزرگترین مزیت آن جلوگیری از تکرار است. مثال: دانشجو، استاد و کارمند همگی نمونه‏ای از انسان هستند، بنابر این می‏توانند خصوصیات انسان را به ارث ببرند.

 

4- Polymorphism چند ریختی (چند شکلی بودن): بیان چند عمل یا چند ریخت مختلف از یک شیء به یک زبان است. مثال: رسم شکل، می‏تواند شامل رسم مربع، رسم مستطیل و رسم مثلث باشد. این عملیات را می‏توان به صورت چند ریختی بیان کرد، یعنی با تعداد و نوع پارامترها و تغییر آنها رسم یکی از اشکال را اجرا کرد.

 

5- Interface(اینترفیس (رابط کاربری): اينترفيس در برنامه نويسي همانند همان كلاس است تنها با اين تفاوت كه هيچكدام از اعضاي آن پياده سازي نمی‏شوند. در واقع يك اينترفيس گروهي از متدها، خصوصيات، رويدادها و Indexer ها هستند كه در كنار هم جمع شده‏اند. اينترفيس‏ها را نمي‏توان Instantiate (نمونه سازي) كرد. تنها چيزي كه يك اينترفيس دارا مي‏باشد امضاي (signature) تمامي اعضاي آن مي‏باشد. به این معنی كه ورودي و خروجي متدها، نوع Property ها و... در آن تعريف مي‏شوند ولي چيزي پياده سازي نمي‏شود. اينترفيس‏ها سازنده و فيلد ندارند (امري است بديهي!) اما چرا؟. يك اينترفيس نمي‏تواند Operator Overload داشته باشد و دليل آن اين است كه در صورت وجود اين ويژگي، احتمال بروز مشكلاتي از قبيل ناسازگاري با ديگر زبانهاي Net. و VB.Net كه از اين قابليت پشتيباني نمي‏كنند وجود داشته باشد. نحوه تعريف اينترفيس بسيار شبيه تعريف كلاس است تنها با اين تفاوت كه در اينترفيس پياده سازي وجود ندارد.


 

 

مجید رمضانی

نویسنده 24 مقاله در برنامه نویسان
  • C#.net
  • 3k بازدید
  • 4 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید