مفاهیم شیء گرایی
چهارشنبه 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 كه از اين قابليت پشتيباني نميكنند وجود داشته باشد. نحوه تعريف اينترفيس بسيار شبيه تعريف كلاس است تنها با اين تفاوت كه در اينترفيس پياده سازي وجود ندارد.
- C#.net
- 3k بازدید
- 4 تشکر