ارتباط کلاس های جاوا با نوعِ داده ها
کلاس هایی که شما ایجاد می کنید، یک نوعِ داده هستند.
زبان برنامه نویسی جاوا دارای 8 نوعِ داده ی اولیه می باشد. مثلا نوع داده ی int و double جزو آنها هستند.
شما نیازی ندارید تا این نوع ها را تعریف کنید زیرا سازندگان زبان جاوا، قبلا این کار را انجام داده اند.
بعنوان مثال، وقتی که نوع int برای اولین بار داشت توسط برنامه نویسان جاوا ایجاد می شد، این سوال و جواب هابه ذهن برنامه نویسان می آمده است:
مثال
سوال: نام این نوع داده، را چه بگذاریم؟
جواب: int .
سوال: ویژگی های این نوع داده چه هستند؟
جواب:یک int در چهار بایت ذخیره می شود. و حاوی اعداد صحیح است.
سوال: نوع داده ی int به چه متدهایی نیاز دارد؟
پاسخ: یک متد که یک مقدار را به یک متغیر انتساب دهد( بعنوان مثال ;num = 32)
سوال: آیا متدهای دیگری هم خواهد داشت؟
پاسخ: بله. به چند عملگر هم نیاز دارد تا بتوان با متغیرها عملیات محاسبه انجام داد(بعنوان مثال num+6).
سوال: متدهای دیگری هم خواهد داشت یا نه؟
جواب: البته. ویژگی ها و متدهای دیگری نیز برای int وجود دارد.
اگر شما هم بخواهید یک نوعِ داده ایجاد کنید، باید به همین صورت عمل کنید. اگر شما برای کارمندان یک شرکت، به یک کلاس نیاز دارید، باید به سوال و جواب های زیر توجه کنید:
مثال
سوال: این کلاس را چه بنامیم؟
جواب: Employee .
سوال: این کلاس چه ویژگی هایی دارد؟
جواب: این کلاس یک ID(شناسه ی کارمند) دارد که یک عدد صحیح است، و یک نام خانوادگی دارد که از نوع String است و یک حقوق دارد که از نوع double است. (شناسه و نام خانوادگی و حقوق، هرکدام یک متغیر هستند).
سوال: در کلاس Employee به چه متدهایی نیاز داریم؟
جواب: یک متد برای انتساب مقادیر به متغیرهای این کلاس. به طوری که مثلا مقدار 3232 را به متغیر شناسه دهد، و مقدار abbasi را به متغیر نام خانوادگی بدهد، و مقدار 30000 را به متغیر حقوق بدهد.
سوال: آیا متدهای دیگری هم وجود دارند؟
جواب: بله. یک متد برای نمایش دادن داده های یک کارمند.
سوال: آیا متدهای دیگری نیز نیاز داریم؟
جواب: احتمالا، اما فعلا همین مقدار کافی است.
نکته
برنامه نویسان گاهی اوقات به کلاس ها، نوعِ داده های انتزائی یا ADT می گویند. اجرای یک نوع داده ی انتزائی، بصورت پنهانی است و از طریق متدهای public آن، انجام می شود. یک کلاس، همچنین می توان نوعِ داده ی تعریف شده توسط برنامه نویس دانست. به عبارت دیگر، یک کلاس، یک نوعِ داده است که توسط زبان برنامه نویسی ساخته نشده است.
هنگامی که شما می خواهید یک متغیر از یک نوع داده ی اولیه را تعریف کنید، باید یک نوع و یک نام برای آن مشخص کند. هنگامی که شما می خواهید از یک کلاس، یک شیء تهیه کنید، نیز باید همین کار را انجام دهید.
بعنوان مثال، فرض کنیم که شما می خواهید یک متغیر به نام myInt و از نوع int تعریف کنید، همچنین می خواهید یک شیء به نام myEmployee از کلاس Employee تعریف کنید.
سپس هریک از اینها می توانند به یک متد پاس داده شوند(بعنوان آرگومان)، و یا اینکه می توانند از یک متد، برگردانده(return) شوند. و یا اینکه می توانند به یک شیء با همین نوعِ داده، انتساب داده شوند. بعنوان مثال، عکس 3.25 یک برنامه را نشان می دهد که متد ()main در این برنامه، دو متد دیگر را مورد استفاده قرار می دهد. یکی از این متدها، یک شیء از نوع Employee را بعنوان پارامتر می پذیرد، و متد دیگری، یک شیء از نوع Employee را برمی گرداند. متد Employee در داخل عکس 3.22 تعریف شده است. و در عکس 3.26 کدها مورد اجرا قرار گرفته اند. شما می توانید در این برنامه مشاهده کنید که یک شیء Employee به یک متد پاس داده شد و یا از یک متد دیگر برگردانده شد. درست مانند یک شیء ساده. کلاس ها، چیزهای مبهمی نیستند، بلکه یک نوعِ داده ی جدید هستند که شما آن را اختراع می کنید.
- نوشته شده توسط احسان عباسی
- بازدید: 3800