تبلیغات
آکنده
آکنده ،،،،
در اندیشه پرواز هم نباش، پرنده هم مردنی است

شی و ساختار و دسته[توسعه نرم‏افزار , ]

من فکر میکنم لازم نیست شی را تعریف کنیم، یعنی بدین صورت تعریف کنیم:

شی شی است.

در عوض مشخص میکنیم چگونه شی را مشخص میکنیم، بکار میبریم.

برای اشیا ساختار تعریف میکنیم.

هر شی یک ساختار مشخص دارد و تاحدود زیادی ساختار هر شی با شی دیگر متفاوت است ولی عموماً با صرف نظر کردن از بعضی اجزا ساختار میتوان برای دسته ای از اشیا ساختار یکسان قائل شد.

سه نکته را در نظر داشته باشید:

۱. گروهی از اشیا میتوانند دارای ساختار مشابه باشند.

۲. هر چه بیشتر از ویژگیهای اشیا صرف نظر صرف نظر کنیم، اشیا در دسته های عامتری قراری میگیرند و هر چه بیشتر بر روی ویژگیها تاکید کنیم دسته ها خاصتر میشود.

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

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

نکات ۳ و ۴ دو دلیل برای دسته بندی اشیا است، پس

دسته های اشیا را مشخص میکنیم و به جای ساختار هر شی ساختار دسته را مشخص میکنیم

علت استفاده از کلمه class(دسته) در زبانهای برنامه نویسی نیز به همین خاطر است.

سلسله مراتب اشیا(Class Hierarchy):

بر اساس نکته ۱ و ۲ در هنگام تعریف دسته ها، برای دسته ها سلسله مراتب در نظر میگیریم، یعنی دسته هایی تعریف میکنیم که در قالب یک دسته عام تر قرار میگیرند و برعکس میتوان گفت دسته هایی تعریف میکنیم که خود به چندین دسته خاصتر تقسیم میشوند.

سلسله مراتب اشیا را مشخص میکنیم

در یک سلسله مراتب دسته های خاصتر دارای جزئیات بیشتر نسبت به دسته های عامتر هستند.

دسته های مبنا(Base Classes):

به دسته ای که دسته های دیگر بر مبنای آن قرار دارند(یعنی دسته های دیگر با افزودن جزئیات به آن ساخته شده اند) دسته مبنا گفته میشود.

منبعد به دسته های عامتر دسته پایه میگوئیم.

دسته های مشتق شده(Derived Classes):

به دسته ای که با افزودن بعضی جزئیات به دسته ای مبنا ساخته شده است، دسته مشتق شده گفته میشود.

منبعد به دسته های خاصتر دسته مشتق شده میگوئیم.

هر دسته مشتق شده فقط از یک دسته میتواند مشتق شود.(البته این یک دیدگاه است و بعضی از زبانهای برنامه نویسی امکان مشتق کردن از بیش از یک دسته پایه را فراهم میکنند به این اشتباه مهلک ارث بری چندگانه(Multiple Inheritance) میگویند.)

ارث بری(Inheritance):

ساختار دسته های مشتق شده دارای جزئیات ساختار پایه نیز هستند به این وضعیت ارث بری میگویند و  میگویند که دسته مشتق شده ساختار دسته پایه را به ارث میبرند.

دسته های عینی(Concrete Classes):

به دسته هایی که اجزا آن به حدی مشخص هستند که میتوان شی مشخصی را از آن دسته متصور شد دسته های عینی(concreate classes) گفته میشود 

دسته های مجرد(Abstract Classes):

یه دسته هایی که نمتوان از آنها شی ای متصور شد دسته های مجرد(Abstract Classes) گفته میشود.

دسته تمام اشیا

یک دسته کاملاً عام به نام دسته تمام اشیا وجود دارد و سایر دسته ها از آن مشتق شده اند.

شما با تعریف جزئیات دسته هایی خاص تر نسبت به دسته تمام اشیا تعریف میکنید، و اینقدر در سلسله مراتب دسته ها جلو میروید(سطوح مشتق کردن را زیاد میکنید) تا به دسته های عینی برسید.

 

 

تا اینجا خیلی به جزئیات ساختار دسته ها اشاره کردیم، در ادامه در مورد جزئیات ساختار دسته ها بحث را ادامه میدهیم، موافقید؟؟

 

منتظر نظرات، دیدگاههای شما هستم و همچنین در مورد مطالب مطرح شده پاسخگوی سوالات.

تاریخ فرستادن:دوشنبه 18 مهر 1384، نویسنده: فرشید کزازی (همیشه همینه)
تعداد بازخوردها: ، شما هم دیدگاه خود را ارائه کنید

 

درباره فرشیدکزازی

 
 

هیچ چیز قابل گفتنی درباره خودم وجود نداره.
کاری داشتید به farshidkazazi@gmail.com پیام بفرستید.

 

 

درباره آکنده

 
 

این وبنوشت دربردارنده دیدگاهها و گفتنیها و نوشتینهای من است و من هرچی که دلم بخواهد میام و اینجا مینویسم و چون فعلاً نرم افزار کار میکنم، زمینه تخصصی آن بیشتر به آن گرایش دارد.

** اسم وبنوشت هیچ معنای خاصی ندارد، اولین کلمه ای بود که موقع ثبت نام به ذهنم رسید.

دسته بندی نگاره ها:
عمومی (7)
توسعه نرم‏افزار (13)

 

 

وبنوشتهای دیگر

 
  زیر چتر باران
واژگان مدیریت دانش
 

 

ابزارها

 
 
جستجو در بلاگ


برای دریافت نگاره ها از طریق email با وارد کردن آدرس email نام‏ نویسی کنید:
بایگانی گذشته
مرداد 1385 (2)
تیر 1385 (3)
اردیبهشت 1385 (1)
بهمن 1384 (4)
آذر 1384 (1)
آبان 1384 (4)
مهر 1384 (5)