پلتفرم Java SE با محیط توسعه IDE) NetBeans) ؛ (4)

یک Constructor همانند یک متد است با این تفاوت که نام آن دقیقاً با نام کلاس یکی بوده و از سوی دیگر به هیچ وجه نمی تواند داده ای را return کند. واقعیت دیگری که در مورد Constructor ها صدق می کند این است که یک
دوشنبه، 4 آذر 1392
تخمین زمان مطالعه:
موارد بیشتر برای شما
پلتفرم Java SE با محیط توسعه IDE) NetBeans) ؛ (4)

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)

 

مترجم: حبیب الله علیخانی
منبع:راسخون



 

ساخت سازنده ( 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

وسپس طبق شکل زیر تابع display را برای چاپ این متغیر ها را تعریف می کنیم:

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
و البته باید کلاس Main را طوری تعریف کنیم که کلاس Myclass را اجرا کند بنابراین کد هایی که آنرا در تصویر زیر هایلایت کردیم را در Main وارد می کنیم:

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
می بینیم که خروجی داده و مقادیر خروجی همان مقادیر پیش فرض constructorاست که این به این علت است که کامپایلر به طور خودکار constructor را ساخت.
اکنون اگر بخواهیم خودمان constructor بسازیم باید به صورت زیر عمل کنیم:
در کلاس کلیک می کنیم و بعد ( Alt + insert ) را می زنیم ، که منویی به صورت زیر با عنوان Generate باز می شود:

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
گزینه ی اول را انتخاب می کنیم و سپس 5 فیلد زیر را تیک می زنیم و در آخر گزینه ی Generate را انتخاب می کنیم

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
داخل کلاس ، سازنده ایجاد شده ، مانند شکل زیر قسمتی که هایلایت شده:

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
Constructor همانند یک متد است با این تفاوت که نام آن می بایست دقیقاً هم نام با کلاس بوده و هیچ گونه مقدار بازگشتی مثل int و double و String و غیره نمی بایست برای آن تعریف شود.
اگر هیچکدام از فیلد ها را انتخاب نکنیم سازنده پیشفرض ساخته می شود.

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
Constructor از آنجا که در حین Compile شدن ساخته می شود از دید ما مخفی است. در حقیقت خود Compiler جاوا این Constructor را برای شیئ ما ساخته است.
اگر ما یک Constructor برای کلاس خود طراحی کنیم Compiler هیچ گونه Constructor یی از جنس default به صورت خودکار نخواهد ساخت و Constructor ما را مورد استفاده قرار می دهد.
به طور خلاصه نوشتن و ننوشتن این Constructor هیچ فرقی برای ما نخواهد کرد چرا که Compiler این کار را به عهده گرفته است . به عبارت دیگر اگر ما برای شیئ جدیدی که می سازیم مقادیر اولیه در نظر نگیریم، Compiler در حین Compile کردن برنامه این کار را به صورت خودکار برای ما انجام خواهد داد.
برای این که تست کنیم که Compiler این کار را به صورت خودکار انجام می دهد یا خیر می توان Constructor ساخته شده را Comment کرده و برنامه را مجدد اجرا کنیم و خواهیم دید که بازهم همان مقادیر اولیه توسط Compiler ایجاد می شوند.
هم اکنون می خواهیم تا دیگر به Compiler اجازه ندهیم تا مقادیر Default را برای Field ها در نظر گیرد، بلکه خود این مقادیر را تعریف کنیم. برای این منظور کد کلاس Main را به شکل زیر تغییر می دهیم و مقادیر را وارد می کنیم و وقتی اجرا می کنیم همان مقادیر را در خروجی مشاهده می کنیم :

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
اکنون فرض کنیم که از روی کلاس Myclass دو عدد شیئ داریم، یکی تحت عنوان objectone و دیگری تحت عنوان objecttwo . برای مقدار دهی هر دوی آن ها کد خود را به شکل زیر تکمیل می کنیم:

پلتفرم java SE   با محیط توسعه NetBeans   (IDE) (4)
همانطور که مشاهده می شود در کد فوق دو شیئ از روی کلاس Myclass تحت عناوین objectone و objecttwo به معنی به ترتیب " شیئ یک" و " شیئ دو" ساخته ایم. از آنجا که می خواهیم شیئ دوم ما هم دارای مقادیر اولیه ای باشد، برای پارامترها مقادیر در نظر می گیریم و برنامه را اجرا می کنیم همانطور که در تصویر فوق مشاهده می شود هر دو شیئ ساخته شده از روی کلاس MyClass با مقادیر اختصاصی خودشان در پنجره output نمایش داده شده اند.

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, از اهمیت بیشتری برخوردار می باشند.



 

 



مقالات مرتبط
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.