مترجم: حبیب الله علیخانی
منبع:راسخون
منبع:راسخون
ساخت سازنده ( Constructor )
یک Constructor همانند یک متد است با این تفاوت که نام آن دقیقاً با نام کلاس یکی بوده و از سوی دیگر به هیچ وجه نمی تواند داده ای را return کند. واقعیت دیگری که در مورد Constructor ها صدق می کند این است که یک Constructor می تواند هیچ پارامتری نداشته باشند ، یک پارامتر داشته و یا حتی بیش از یک پارامتر داشته باشد.کاربرد یک Constructor چیست. در واقع زمانیکه ما یک شیئ از روی کلاس خود می سازیم، Constructor آن کلاس فرا خوانده می شود. کار Constructor این است که Field های آن شیئ جدید را Initialize کرده یا به عبارت دیگر آغاز کند. در واقع مقادیر پیش فرض را برای Field های کلاس ایجاد کند. برای ساخت یک شیئ جدید از روی یک کلاس نیاز به یک Constructor داریم و اگر ما این Constructor را ننویسیم، خودCompiler در حین ساخت شیئ جدید یک Constructor که فاقد هرگونه پارامتری باشد را برای ما در حین Compile شدن خواهد ساخت، اینConstructor تحت عنوان Default Constructor یا Constructor پیش فرض شناخته می شود. کاری که این Constructor انجام می دهد این است که کلیه متغیرهای Field را با مقدار اولیه Default فرا می خواند. ( مقدار اولیه صفر برای متغیرهای عددی، مقدار false برای متغیر boolean و مقدار null برای مواردی همچون string ) . حال اگر ما یک Constructor برای کلاس خود طراحی کنیم Compiler هیچ گونه Constructor یی از جنس default به صورت خودکار نخواهد ساخت و Constructor ما را مورد استفاده قرار می دهد.
همه ی کلاسها دارای سازنده هستند.حتی اگراین سازنده ها فقط پیشفرض باشند.اما زمانیکه سازنده ها شروع به بزرگتر و بزرگتر شدن می کنند چه اتفاقی می افتد؟
ابتدا پروژه ای به نام constructor با کلاس Main ایجاد می کنیم. و سپس کلاسی به نامMyclass می سازیم. و کد زیر را در آن وارد می کنیم که چند متغییر را تعریف می کند :
; int zipcode
; int number
; String street
; String city
; boolean trueorfalse
اکنون اگر بخواهیم خودمان constructor بسازیم باید به صورت زیر عمل کنیم:
در کلاس کلیک می کنیم و بعد ( Alt + insert ) را می زنیم ، که منویی به صورت زیر با عنوان Generate باز می شود:
اگر هیچکدام از فیلد ها را انتخاب نکنیم سازنده پیشفرض ساخته می شود.
اگر ما یک Constructor برای کلاس خود طراحی کنیم Compiler هیچ گونه Constructor یی از جنس default به صورت خودکار نخواهد ساخت و Constructor ما را مورد استفاده قرار می دهد.
به طور خلاصه نوشتن و ننوشتن این Constructor هیچ فرقی برای ما نخواهد کرد چرا که Compiler این کار را به عهده گرفته است . به عبارت دیگر اگر ما برای شیئ جدیدی که می سازیم مقادیر اولیه در نظر نگیریم، Compiler در حین Compile کردن برنامه این کار را به صورت خودکار برای ما انجام خواهد داد.
برای این که تست کنیم که Compiler این کار را به صورت خودکار انجام می دهد یا خیر می توان Constructor ساخته شده را Comment کرده و برنامه را مجدد اجرا کنیم و خواهیم دید که بازهم همان مقادیر اولیه توسط Compiler ایجاد می شوند.
هم اکنون می خواهیم تا دیگر به Compiler اجازه ندهیم تا مقادیر Default را برای Field ها در نظر گیرد، بلکه خود این مقادیر را تعریف کنیم. برای این منظور کد کلاس Main را به شکل زیر تغییر می دهیم و مقادیر را وارد می کنیم و وقتی اجرا می کنیم همان مقادیر را در خروجی مشاهده می کنیم :
Variable ها یا متغییر ها
Variable ها یا متغییر ها عناصری در زبان برنامه نویسی می باشند که می توانند داده را در خود ذخیره سازند. داده در یکVariable این قابلیت را دارا است که در هر زمانی توسط برنامه نویس یا کاربر تغییر یابد و از همین رو است که نام متغییر روی آن گذاشته شده است. حال اگر Value جدیدی جایگزین مقدار قبلی شود، آن Value جدید جایگزین مقدار قبلی در حافظه خواهد شد و ما به کلی مقدار قبلی را از دست خواهیم داد.هر Variable یا متغییر شامل نوع متغییر، نام و مقدار متغییر می باشد. در واقع اگر متغییر ما هر یک از این سه مورد را نداشه باشد ما یک متغییر ناقص ایجاد کرده ایم
long ,short ,byte , int,
برای وارد کردن اطلاعاتی از جنس اعداد صحیح داخل برنامه خود می توانیم از یک متغییر از جنس int استفاده کنیم، برای این نوع داده انواع دیگری هم از متغییر ها وجود دارند که عبارتند از byte, short, long .Float, double
برای ذخیره سازی اطلاعاتی از جنس اعداد اعشاری از یک متغییر از جنس double استفاده خواهیم کرد. علاوه بر متغییر double ما از متغییر float می توانیم استفاده کنیم با این تفاوت که دقت متغییر double به مراتب بیشتر است.*** به حروف بزرگ و کوچک واژگان int و double توجه فرمایید، چون زبان برنامه نویسی جاوا sensitive-case است یا به عبارت دیگر به حروف بزرگ و کوچک حساس می باشد.
*** برای جلوگیری از طولانی شدن کد خود می توانیم متغییرها را با یکدیگر ادغام نماییم. اما در حین ادغام متغییر ها بایستی توجه داشته باشیم که نوع متغییرهایی که می خواهیم با یکدیگر ادغام کنیم می بایست از یک جنس باشد.
Int number=123, id=9011, code=12345
سه متغییر از جنس int خواهیم داشت که مقادیر آن ها هم مشخص شده است. متغییر ها بوسیله کاما از یکدیگر جدا شده اند.char
زمانی که مقادیری از جنس حرف یا کاراکتر داریم از متغییر char استفاده کنیم. برای وارد کردن صرفاً یک کاراکتر یا یکی از علائم خاص در برنامه خود ما می بایست از متغییر char استفاده کنیم. مقدار مد نظر برای این نوع متغییر حتماً می بایست داخل علامت های ' ' قرار گیرد. برای نوشتن یک کلمه که حاوی بیش از یک کاراکتر باشد به هیچ وجه نمی توان از متغییر char استفاده کنیم.Char در جاوا مشابه char در c , c++ نیست.String
متغییر رشته ای است که دنباله ای از کاراکتر ها را که بین "" قرار می گیرد را می پذیرد.برای قرار دادن یک Tab بعد از کلمه از \ t و همچنین فرستادن بخشی از جمله به خط بعد از \ n نیز استفاده کنیم.
گاهی اوقات ما نیاز داریم تا متنی از جنس string را در کنار دیگر متغییرها مثلاً متغییری از جنس int یا double در محیط output خروجی به نمایش در آوریم.
int studentNumber = 12;
System.out.println("The number of students is " + studentNumber);
برای این منظور پس از علامت " یک علامت + قرار داده سپس نام متغییر خود را قرار می دهیم.
Boolean
یک مقدار Boolean فقط دو مقدار منطقی شامل true و false را می پذیرد.به طور خلاصه در زبان برنامه نویسی جاوا هشت نوع متغییر اولیه Primitive Type وجود دارد که عبارتند ازint, byte, short, long, float, char, Boolean,double, که متغییر های,int char, Boolean double, از اهمیت بیشتری برخوردار می باشند.
/ج