eyes_shut_number1
پنج شنبه 09 دی 1389, 22:02 عصر
منبع : Wanalyst.net (http://wanalyst.net)
ما قصد داریم در رابطه با برخی از عناصر اصلی شی گرایی یعنی شی (آبجکت) و کلاس صحبت کنیم. اجازه دهید با تعریف یک شی شروع کنیم. شی چیزی است که در زمینه یک سیستم وجود دارد و نمونه ای از یک کلاس مخصوص است. در عکس ما سیستمی به نام آکواریوم در نظر می گیریم که درون آن کلاسی به نام ماهی قرمز وجود دارد و درون این کلاس نمونه های منحصر به فردی از این ماهی خاص داریم.
http://webanalyst.ir/UploadImages/EditorUpload/Images/UML/fish.jpg
همانطور که می بینید، کلاس به اشیایی تقسیم می شود که می توانند نمونه های منحصر به فردی از کلاس ماهی باشند و هر کدام از این نمونه ها خود نیز می توانند دارای نمونه هایی منحصر به فرد باشند. به علاوه اینکه یک کلاس می تواند قالبی باشد که اشیا از آن ساخته می شوند. می توانید اینگونه تصور کنید که کلاس همانند یک چاقوی برش کیک یا یک مُهر است. هنگامی که کلاسی را تعریف می کنید می توانید از آن برای ساخت اشیا کاملاً جدید استفاده کنید. کلاس ها و اشیای درون آنها عناصری دارند که آنها را تعریف می کنند. به این عناصر مشخصات یا خصوصیات گفته می شود. برای مثال در کلاس ماهی قرمز بعضی از مشخصات عبارتند از اندازه، رنگ یا جنسیت. کلاس ها همچنین دارای عملیات یا رفتارهایی می باشند که مشخص می کنند شی چه کارهایی را انجام می دهد یا چه کارهایی روی آنها انجام می شوند. برای مثال در کلاس ماهی قرمز بعضی از رفتارها عبارتند از شنا کردن، خوردن یا خورده شدن. مفهوم وراثت هنگامی که با کلاس ها کار می کنید بسیار مفید است زیرا هر زیر کلاس مشخصات کلاس بالاتر از خود را به ارث می برد. در اینجا ما سلسله مراتبی از وراثت را داریم. در بالا کلاس اصلی، کلاس ماهی است و تمامی خصوصیات و رفتارهای این کلاس در کلاس های زیرین یعنی کلاس های ماهی قزل آلا، ماهی قرمز و کوسه نیز وجود دارد (در کلاس های پایین به ارث برده شده است) ولو اینکه به طرق مختلفی با یکدیگر تفاوت داشته باشند. درون کلاس ماهی قرمز اشیا منحصر به فردی در حال شنا کردن در آکواریوم هستند که ما به آنها ماهی طلایی، ماهی حبابی و کیلر می گوییم. این ماهی ها تمام خصوصیات و رفتارهای که در ماهی قرمز وجود دارد را به اشتراک می گذارند. در واقع این ماهی خصوصیات و رفتارهای ماهی قرمز را به ارث برده اند.
ما قصد داریم در رابطه با برخی از عناصر اصلی شی گرایی یعنی شی (آبجکت) و کلاس صحبت کنیم. اجازه دهید با تعریف یک شی شروع کنیم. شی چیزی است که در زمینه یک سیستم وجود دارد و نمونه ای از یک کلاس مخصوص است. در عکس ما سیستمی به نام آکواریوم در نظر می گیریم که درون آن کلاسی به نام ماهی قرمز وجود دارد و درون این کلاس نمونه های منحصر به فردی از این ماهی خاص داریم.
http://webanalyst.ir/UploadImages/EditorUpload/Images/UML/fish.jpg
همانطور که می بینید، کلاس به اشیایی تقسیم می شود که می توانند نمونه های منحصر به فردی از کلاس ماهی باشند و هر کدام از این نمونه ها خود نیز می توانند دارای نمونه هایی منحصر به فرد باشند. به علاوه اینکه یک کلاس می تواند قالبی باشد که اشیا از آن ساخته می شوند. می توانید اینگونه تصور کنید که کلاس همانند یک چاقوی برش کیک یا یک مُهر است. هنگامی که کلاسی را تعریف می کنید می توانید از آن برای ساخت اشیا کاملاً جدید استفاده کنید. کلاس ها و اشیای درون آنها عناصری دارند که آنها را تعریف می کنند. به این عناصر مشخصات یا خصوصیات گفته می شود. برای مثال در کلاس ماهی قرمز بعضی از مشخصات عبارتند از اندازه، رنگ یا جنسیت. کلاس ها همچنین دارای عملیات یا رفتارهایی می باشند که مشخص می کنند شی چه کارهایی را انجام می دهد یا چه کارهایی روی آنها انجام می شوند. برای مثال در کلاس ماهی قرمز بعضی از رفتارها عبارتند از شنا کردن، خوردن یا خورده شدن. مفهوم وراثت هنگامی که با کلاس ها کار می کنید بسیار مفید است زیرا هر زیر کلاس مشخصات کلاس بالاتر از خود را به ارث می برد. در اینجا ما سلسله مراتبی از وراثت را داریم. در بالا کلاس اصلی، کلاس ماهی است و تمامی خصوصیات و رفتارهای این کلاس در کلاس های زیرین یعنی کلاس های ماهی قزل آلا، ماهی قرمز و کوسه نیز وجود دارد (در کلاس های پایین به ارث برده شده است) ولو اینکه به طرق مختلفی با یکدیگر تفاوت داشته باشند. درون کلاس ماهی قرمز اشیا منحصر به فردی در حال شنا کردن در آکواریوم هستند که ما به آنها ماهی طلایی، ماهی حبابی و کیلر می گوییم. این ماهی ها تمام خصوصیات و رفتارهای که در ماهی قرمز وجود دارد را به اشتراک می گذارند. در واقع این ماهی خصوصیات و رفتارهای ماهی قرمز را به ارث برده اند.