آموزش مفاهیم کلاس در جاوا

چاپ

در شیء گرایی، هر چیزی یک شیء محسوب می شود و هر شیء نیز عضوی از یک کلاس(class) می باشد. هر چیز بی جانی را می توان یک شیء در نظر گرفت مثلا میز رایانه و لپ تاپ شما و خانه ای که در آن زندگی می کنید، شیء محسوب می شوند. شما همچنین می توانید موجودات زنده را نیز بعنوان شیء در نظر بگیرید؛ بعنوان مثال گل های باغچه و ماهی درون حوض و حتی خود شما یک شیء محسوب می شوید. رویداد های زندگی نیز شیء محسوب می شوند؛ مثلا جشن فارغ التحصیلی شما نیز یک شیء است. 

هر چیزی یک شیء است و هر شیء ای نیز عضوی از یک کلاس کلی تر می باشد. بعنوان مثال میز رایانه ی شما عضوی از یک کلاس کلی است که شامل تمامی میزها است؛ و بعنوان مثالی دیگر، ماهی درون حوض شما عضوی از یک کلاس کلی تر است که حاوی تمام ماهی ها است. یک برنامه نویس شیء گرا این موضوع را به این صورت تعبیر می کند: میز رایانه ی شما یک نمونه از کلاس میز(Desk) است و ماهی حوض شما یک نمونه از کلاس ماهی(Fish) می باشد. 

 


مفهوم کلاس(class)، به دلیل اینکه قابل استفاده ی مجدد می باشد، اهمیت دارد. اشیاء خصوصیت های خود را از کلاس ها به دست می آورند. همچنین در تمامی این اشیاء خصوصیت هایی وجود دارند که قابل پیش بینی هستند، زیرا عضوی از کلاس های بالاتر هستند. بعنوان مثال اگر شما به یک جشن تولد دعوت شوید، از قبل چیزهای زیادی در مورد این شیء (یعنی جشن تولد) می دانید. مثلا می دانیم که این جشن یک زمان شروع دارد و اینکه تعدادی مهمان در این جشن دعوت هستند و اینکه این جشن یک کیک تولد دارد. شما به دلیل داشتن دانش قبلی از کلاس جشن(Party) که شامل تمامی انواع جشن ها می شود، می دانید که در یک جشن چه اتفاقاتی رخ خواهد داد. شما نمی دانید که این جشن چه تعداد مهمان دارد و اینکه چه غذایی بعنوان شام قرار است در این جشن خاص داده شود. اما می دانید که در این جشن تعدادی مهمان می آیند و شام نیز داده می شود زیرا از قبل می دانید که در تمامی جشن ها تعدادی مهمان وجود دارد و همواره به مهمان ها غذا داده می شود. 

اشیاء علاوه بر خصوصیت ها، حاوی یک سری متد(method) نیز هستند. بعنوان مثال در تمامی جشن ها (یا اشیاء جشن) باید یک زمان و تاریخ برای جشن معین شود. مثلا در یک نرم افزار می توان این متدها را به صورت ()setTime و ()setDate  تعریف کرد. مهمانان جشن همچنین باید بتوانند زمان و تاریخ جشن را به دست بیاورند، این کار به وسیله ی متدهای ()getTime و ()getDate امکان پذیر است. 

 


ممکن است بخوهیم برای این جشن یک نام(شناسه) انتخاب کنیم، مثلا می توانیم این جشن را myGraduationParty بنامیم. چون که جشن myGraduationParty عضوی از کلاس بالاتر یعنی کلاس جشن(Party) است، پس ممکن است حاوی متدهای تعین زمان یعنی ()setTime  و تعین تاریخ یعنی ()setDate  باشد. حالا اگر بخواهیم از متدهای ()setTime و ()setDate استفاده کنیم، باید اطلاعات را به صورت آرگومان به آنها بدهیم. بعنوان مثال دستورات ("myGraduationParty.setTime("6 P.M و ("myGraduationParty.setDate("May 12 را می توانیم مورد استفاده قرار دهیم. 

هنگامی که شما از یک شیء و متدهای آن استفاده می کنید، درواقع به وسیله ی متدها، یک پیغام به آن شیء می دهید تا کاری را برای شما انجام دهد. مثلا می توانیم از شیء myGraduationParty بخواهیم تا زمان و تاریخ را تنظیم کند. 

 شما در داخل یک برنامه ی شیء گرا، به طور مداوم متدهای اشیاء را مورد فراخوانی قرار می دهید و درخواست های خود را بصورت آرگومان به آن متدها می دهید. علاوه بر آن، برخی از متدها یک پیغام یا یک مقدار را بعنوان پاسخ برمی گردانند. بعنوان مثال اگر یکی از مهمانان جشن تولد از متد ()getDate استفاده کند، تاریخ به او برگردانده خواهد شد. به طور مشابه در داخل برنامه های شیء گرا، وقتی متدها فراخوانی می شوند، ممکن است اطلاعات یا مقادیری برگردانده شود. شما می توانید با استفاده از برنامه نویسی شیء گرا کلاس هایی بنویسید که قادر به نمونه گیری و ایجاد اشیاء از آنها باشید.