loading...
divaneshgh
divaneshgh بازدید : 34 شنبه 26 آذر 1390 نظرات (0)
دانشمندانی که شی گرایی را مطرح می کردند بر این عقیده بودند که این طرح در طبیعت بسیار اجرا شده است. مثلا هر سیبی که می خوریم نمونه ای است که از کلاس سیب گرفته شده و تفاوت آنها در مزه و بو و رنگ و شکل است که همه آنها را خواص میوه نامیده ایم. همچنین همه از کلاس میوه ها ارث برده اند که به نوعی دارای خواص مشترک مانند ویتامین ها هستند.
همچنین نکته دیگری را لحاظ کرده بودند که به آن چندریخیتی (polymorphism) می گویند. مثلا ما می دانیم که پرندگان از طریق تخم گذاری زاد و ولد می کنند. یک استثنا خفاش است که در عین حال که پرنده است بچه زا است.
معرفی شی گرایی٬ تحولی را در نگرش به مهندسی نرم افزار برانگیخت. بسیاری آن را تنها راه حل ادامه برنامه نویسی می دانستند و گروهی نمی توانستند خود را با آن وفق دهند. قدیمی ترها چندان نمی توانستند خود را تغییر دهند و مبتدیان آن را غول چراغ جادو می دانستند.
به هرحال با ظهور زبانهای شی گرا نتیجه برآن شد که همه خواسته و ناخواسته شی گرا می نوشتند در حالیکه طراحی برخی ها ساختاریافته بود.
شی گرایی دارای سه ویژگی اصلی است: ۱- کپسوله سازی٬ ۲- وراثت٬ ۳- چندریختی
طبق ادعاهای صورت گرفته این ویژگی ها مدیریت کدها را آسان تر می کرد. ولی برای مدیرانی که آن را درک نمی کردند صد البته مدیریت را سخت تر می کرد.
کپسوله سازی در اصل این امکان را فراهم می کرد تا متغیرهای Global برچیده شوند مگر آنکه برنامه نویس آن را مجاز بداند. همچنین توابع و زیربرنامه ها که دیگر با نام متد شناخته می شدند می توانستند خصوصی یا عمومی باشند. این گزینه باعث می شد تا دیگر کمتر نگران برنامه نویسهایی باشیم که توصیه های ایمنی را جدی نمی گرفتند.
وراثت برای توسعه بسیار مفید ارزیابی می شود. مثلا پسری که مانند پدرش است ولی سطح تحصیلاتش بالاتر است و قابلیتهای بیشتری مانند خلبانی را دارد. این کار می تواند با اضافه کردن کدی به انتهای یک متد از کلاس والده خودش صورت گیرد. بدون اینکه احتیاج به سورس آن کلاس داشته باشیم. این موضوع باعث می شود تا توسعه یک کلاس ضمن پنهان ماندن محتویاتش صورت پذیرد.
چندریختی هم از آن حرف ها است. شما یک متد را صدا می زنید ولی ممکن است یک کار دیگر انجام دهد. این جمله بسیار درک نشدنی است. در صورت تحقق این چنین امکانی که همه چیز به هم می ریزد. نکته در اینجاست که این به طریقه استفاده از چندریختی مربوط می شود. مثلا همه موجودات زنده فعل حرکت را اجرا می کنند. ولی یکی می خزد٬ یکی می پرد و یکی راه می رود و می دود. البته دست برنامه نویس برای توسعه باز است و در صورت استفاده نادرست ممکن است موجودی هنگام اجرای فعل حرکت مسواک بزند.EXbloglor.comEX<-m->http://programmingtips.blogfa.com/post-6.aspx<-mm->شی گرایی<-mmm->
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 63
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 6
  • آی پی امروز : 22
  • آی پی دیروز : 16
  • بازدید امروز : 2,028
  • باردید دیروز : 27
  • گوگل امروز : 2
  • گوگل دیروز : 1
  • بازدید هفته : 2,146
  • بازدید ماه : 2,750
  • بازدید سال : 6,634
  • بازدید کلی : 106,848