loading...
divaneshgh
divaneshgh بازدید : 25 شنبه 26 آذر 1390 نظرات (0)
اولین خاصیت شی گرایی کپسوله سازی (Encapsulation) است. احتمالا نام کپسوله سازی مفهوم واضحی نداشته باشد. ولی اگر به کپسول هایی که در اطرافمان هستند نگاهی بیندازید خواهید دید که این نام مناسب است. مثلا کپسول گاز یا کپسول دارو چه کاری انجام می دهد؟ در اصل کپسول محفظه ای است تا موادی را در خودش نگه داری کند که به راحتی جابجا شود.

در شی گرایی٬ کلاس ها همان کپسول ها هستند که فیلدها (متغیرها) و متدها (روال ها و توابع) رو در خودشون نگه میدارن تا مدیریت کدها در یک پروژه بزرگ رو کمی راحت تر کنند.

توجه کنید که قبل از برنامه نویسی شی گرا باید یک طراحی شی گرا انجام دهید. یعنی هنگام تجزیه و تحلیل مساله باید ببینید که چه قسمتهایی از کار رابطه تنگاتنگی با هم دارند و چه قسمت هایی از هم مستقل هستند.

مثلا یک دانشگاه را در نظر بگیرید. بخش اداری دانشگاه با بخش علمی دانشگاه دو کار متفاوت از هم انجام می دهند (و معمولا ساختمان های جداگانه ای دارند!) ولی تا مراحل اداری انجام نشده باشد بخش علمی به دانشجویان سرویس نمی دهد. (وابستگی به هر حال وجود دارد ولی از نظر کارکرد از هم مستقل هستند)

ولی قسمتهای داخلی هر بخش رابطه های نزدیک تری با هم دارند. مثل قسمت ثبت نام و انتخاب واحد. (وابستگی بیشتری وجود دارد ولی برای جلوگیری از تداخل مشکلات داخلی یکدیگر در اتاقهای جداگانه قرار دارند - به عبارتی کپسوله شده اند.)

در داخل هر قسمت هم تعدادی کارمند مشغول خدمات دهی هستند که رابطه تنگاتنگی با هم دارند و برای انجام کار مدارک را مدام بین هم منتقل می کنند. (وابستگی زیادی به هم دارند)

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

از آنجا که کپسول ها دارای ابعاد فیزیکی هستند - تا مواد داخل خود را نگهداری کنند - کلاس ها هم با یک مستطیل مدل سازی می شوند تا فیلدها و متدهای خود را نگهداری کنند.

╗════════════════════════════╔
║          نام کلاس           ║
║----------------------------║
║                            ║
║         نام فیلدها         ║
║                            ║
║                            ║
║----------------------------║
║                            ║
║          نام متدها         ║
║                            ║
║                            ║
║                            ║
║                            ║
╝════════════════════════════╚

EXbloglor.comEX<-m->http://programmingtips.blogfa.com/post-7.aspx<-mm->کپسوله سازی<-mmm->
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 63
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 6
  • آی پی امروز : 17
  • آی پی دیروز : 16
  • بازدید امروز : 1,128
  • باردید دیروز : 27
  • گوگل امروز : 2
  • گوگل دیروز : 1
  • بازدید هفته : 1,246
  • بازدید ماه : 1,850
  • بازدید سال : 5,734
  • بازدید کلی : 105,948