آموزش متودهای بیشتری در جاوا

بنابراین ما نام یک دانش آموز و نام یک امتحان داریم. هر دو در فیلد اسم ها در گروه StudentResults ذخیره می شوند. اکنون می توانیم یک نمونه ی امتحان نیز ذخیره کنیم.

متد جدید زیر را درست بعد از متد examName در گروه خود اضافه کنید.

آموزش جاوا

این متد جدید examScore نامیده می شود با یک متغیر int به نام aScore بین پرانتزهای آن. این متد برای بازگرداندن یک مقدار String تنظیم شده است. خود متد نمره را با رشته ی " out of 50" ترکیب می کند. بنابراین اگر مقدار در aScore عدد 30 باشد، متن "30 out of 50" در فیلد Exam_Score ذخیره خواهد شد.

در گروه ExamDetails ، خط زیر را اضافه کنید.

 مثال:

1
String score = aStudent.examScore(30);‎

بنابراین متد جدید examScore را فرا می خوانیم و به آن مقدار 30 را می دهیم. مقدار در فیلد Exam_Score بازگردانده می شود، و سپس در یک متغیر رشته ذخیره می شود که ما آن را نمره (score) نامیده ایم.

یک متد print line جدید اضافه کنید، بنابراین کد شما شبیه به کد ما در زیر می شود.

آموزش جاوا

وقتی برنامه اجرا می شود، پنجره ی Output شبیه زیر خواهد بود.

 

آموزش جاوا

بنابراین ما نام دانش آموز، نام امتحان و نمره از 50 را در دست داریم. اکنون به پنجره ی خروجی می توانیم یک درجه نیز اضافه کنیم.

برای درجه از حروف مجزا استفاده می کنیم: A، B, C، D، یا E. اگر دانش اموزی نمره ی 41 یا بیشتر بگیرد، حرف A را به آن اختصاص می دهیم. اگر نمره بین 31 و 40 باشد، درجه مربوطه B خواهد بود. برای نمره ی بین 21 تا 30 حرف C اختصاص داده می شود. درجه ی D نمره ی بین 11 تا 20 می باشد و حرف E برای نمرات بین 0 تا 10 می باشد.

برای محاسبه ی درجات بالا متد زیر را اضافه کنید.( آن را به گروه StudentResults خود اضافه کنید)

آموزش جاوا

دقت داشته باشید که این متد privat (خصوصی) می باشد. درست مانند متغیرهای فیلد، خصوصی ساختن یک متد به این معناست که آن متد تنها در داخل این گروه قابل مشاهده می باشد و می تواند به وسیله ی گروه ExamDetails مشاهده شود.

برای به دست آوردن درجه، متد دیگری را در داخل گروه StudentResults تنظیم خواهیم کرد و از آن برای به دست آوردن درجه استفاده می کنیم. متد زیر را درست در بالای متد getGrade اضافه کنید.(گرچه اگر تمایل داشته باشید، می توانید آن را در زیر این متد نیز اضافه کنید: در جاوا هیچ فرقی نمی کند)

مثال:

1
2
3
4
5
String examGrade(int aScore) {‎
        ‎ ‎
        Exam_Grade = this.getGrade( aScore) ; ‎
        return Exam_Grade; ‎
        ‎}‎

این متدی است که به جای متد getGrade از گروه ExamDetails فرا خوانی می کنیم. نام این متد جدید examGrade می باشد و مجددا آن را به نمره ی دانش آموز انتقال می دهیم. به این خط دقت کنید.

 مثال:

1
Exam_Grade = this.getGrade( aScore );‎

در اینجا متد getGrade فراخوانده می شود و آن را به نمره ای انتقال می دهیم که توزیع شده بود. فراخوانی یک متد از متد دیگر یک تمرین استاندارد می باشد، و به شما اجازه می دهد تا کد خود را ساده کنید. جایگزین آن داشتن متدهای خیلی بلند می باشد که خواندن آنها سخت است.

مورد دیگری که در خط بالا باید به آن توجه داشت لغت کلیدی this در جاوا می باشد. لغت کلیدی this به معنای "this class" می باشد و نه گروه دیگری که ممکن است دارای متد هم نام باشد. این امر از هر گونه سردرگمی جلوگیری می کند. این مسئله زیاد ضروری نیست و می توانید آن را نادیده بگیرید. فراخوانی متد هنوز بدون آن کار می کند.

 مثال:

1
Exam_Grade = getGrade( aScore );‎

گرچه نتیجه ی نهایی هنوز همان است: ما در حال ذخیره سازی چیزی در فیلد متغیر Exam_Grade می باشیم و آن عبارت خواهد بود از عبارت "Grade is" به علاوه ی یک حرف مربوط به درجه.

برای امتحان کردن متدهای جدید، خط زیر را به گروه ExamDetails اضافه کنید.

 مثال:

1
String grade = aStudent.examGrade(30);‎

این خط مقداری برابر 30 را به متد examGrade می دهد. سپس در فیلد متغیر Exam_Grade مقداری گزارش می شود و در متغیری به نام grade ذخیره می شود.

با یک print line، گروه ExamDetails باید به شکل زیر باشد.

آموزش جاوا

برنامه ی خود را اجرا کنید تا پنجره ی Output را مشاهده کنید.

آموزش جاوا

اگر برنامه ی شما به درستی کار نمی کند، در اینجا کد کامل مربوط به گروه StudentResults را مشاهده می کنید.

آموزش جاواآموزش جاوا

 

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش دسترسی به متغیرهای گروه در جاوا

اکنون که چند مقدار پیش فرض داریم، می توانیم متدی را اضافه کنیم که مقادیر مختلفی را برای آنها تنظیم می کند. متد زیر را به گروه StudentResultsخود اضافه کنید.

آموزش جاوا

این متد جدید fullName نامیده می شود و دارای یک متغیر String جدید به نام aName بین پرانتزهای آن می باشد. این متد کار بزرگی انجام نمی دهد و به خاطر سادگی در اینجاست. می توانستیم متدی داشته باشیم که کارهای بیشتری انجام دهد، از جمله چک کردن خطاها، اطمینان حاصل کردن در رابطه با یک مورد مناسب، بررسی رشته های خالی و غیره. اما نکته ی مهم این است که این متد برای فیلد Full_Name یک مقدار تنظیم می کند و این فیلد را به عنوان یک مقدار باز می گرداند. وقتی این متد را فرا می خوانیم، مقدار پیش فرض را برای Full_Name خواهد نوشت و یک مقدار جدید وارد خواهد کرد. هر آنچه در متغیر aName است، مقدار جدید Full_Name خواهد بود. اجازه بدهید این مورد را در عمل ببینیم.

روی back کلیک کنید تا به گروه ExamDetails بازگردید. دو خط زیر را به آن اضافه کنید.

 مثال:

1
2
String sName = aStudent.fullName("Bill Gates");
System.out.println( sName );

کد مربوط به گروه ExamDetails باید مشابه زیر باشد.

آموزش جاوا

آنچه در اینجا انجام می دهیم، فراخوانی متد fullName از آبجکت aStudent می باشد. ما در حال توزیع مقدار "Bill Gates" می باشیم. این مقدارمربوط به فیلد Full_Name نیز خواهد بود. ( این مقدار می توانست برای خطاها بررسی شده، اصلاح شود و سپس در یک فیلد ذخیره شود.) سپس مقدار Full_Name بازگردانده شده و در متغیر sName ذخیره می شود.

درست مانند متدهایی که در بخش قبل ایجاد کردیم، گرچه متد fullName روی لیست NetBeans می باشد. به هرحال توجه داشته باشید که constructor در آنجا نیست.

آموزش جاوا

برای امتحان آن کد خود را اجرا کنید. پنجره ی Output باید صفحه ی زیر را نمایش دهد.

آموزش جاوا

بنابراین آنچه انجام داده ایم امتحان کردن یک مقدار برای یک متغیر فیلد در یک گروه به نام StudentResults می باشد. سپس به آن مقدار دسترسی پیدا کرده و آن را چاپ می کنیم.

حالا اجازه بدهید متدی وارد کنیم که واقعا کار مفیدی انجام می دهد. کاری که انجام خواهیم داد این است که به یک یوزر اجازه می دهیم تا یک کد امتحان دو حرفی وارد کند. سپس آن دو حرف را به متدی انتقال خواهیم داد که دو حرف را به نام یک امتحان بازمی گرداند. برای مثال اگر یک یوزر دو حرف "VB" را وارد کند، متد رشته ی "Visual Basic .NET" را گزارش خواهد داد. رشته ی بلندتر در متغیر فیلد Exam_Name ذخیره خواهد شد.

کد زیر را به گروه StudentResults، درست زیر متد fullName اضافه کنید.

آموزش جاوا

متد examName دارای یک متغیر رشته به نام examCode می باشد که بین پرانتزهای آن قرار می گیرد. این رشته آن دو حرف می باشد. خطوط IF … ELSE IF بررسی می کنند تا ببینند کدام دو حرف در رشته می باشند. اگر یک هماهنگی برای دو دو حرف پیدا کردیم، تیتر بلندتر در فیلد Exam_Name قرار می گیرد. اگر هیچ گونه هماهنگی پیدا نشد، متن مربوط به فیلد "No Exam Selected" خواهد بود.

به گروه ExamDetails خود بازگشته و خط زیر را به آن اضافه کنید.

 مثال:

1
String exam = aStudent.examName("VB");‎

دوباره ما در حال فراخوانی متد می باشیم. به حروف "VB" دسترسی داریم. متد مقدار "Visual Basic .NET" را گزارش می دهد و سپس آن را در متغیر رشته ای که آن را exam نامیدیم، ذخیره می کند. یک print line جدید اضافه کنید، کد شما باید مانند زیر باشد.

آموزش جاوا

سپس کد خود را اجراکنید، Outout مشابه زیر می باشد.

آموزش جاوا

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش سازنده در جاوا

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

متودهای Constructor هم نام گروه می باشند. Constructor زیر را به گروه StudentResults اضافه کنید.

آموزش جاوا

بنابراین نام این Constructor (سازنده) نیز StudentResults می باشد. این دقیقا همان نام گروه می باشد. برخلاف متودهای عادی، گروه constructor ها به نوع بازگشتی مانند int یا double و کلا هیچ گونه گزارشی نیاز ندارد. به هرحال شما می توانید مقادیر را به constructor های خود انتقال دهید. اگر بخواهیم مقادیر را به متغیرهای فیلد انتقال دهیم، می توانیم مانند زیر عمل کنیم.

در اینجا دو متغیر String به پرانتزهای constructor اضافه کرده ایم. در داخل پرانتزها این مقادیر را به فیلدهای Full_Name و Exam_Gradeاختصاص داده ایم. وقتی که یک آبجکت جدید ایجاد می کنید، نیاز به دو رشته بین پرانتزهای نام گروه دارید.

آموزش جاوا

 مثال:

1
StudentResults aStudent = new StudentResults( "Bill Gates", "A" );‎

وقتی آبجکت ایجاد می شود، مقادیر "Bill Gates" و "A"در constructor بررسی می شوند.

به هرحال تنظیم چند مقدار پیش فرض برای متغیرهای فیلد فکر خوبی است. این مقادیر در هنگام ایجاد آبجکت، اختصاص داده می شوند. کد زیر را به constructor خود اضافه کنید.

آموزش جاوا

اکنون هر وقت یک آبجکت StudentResults جدید ایجاد می شود، هر چهار متغیر فیلد ما دارای مقدار پیش فرض می باشند. دقت کنید که اکنون هیچ چیز بین پرانتزهای گروه constructor وجود ندارد.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش متغیرهای Field در جاوا

در بخش قبل در مورد متغیرهای داخل متدها صحبت کردیم. متغیرهایی که داخل متدها تنظیم می کنید، تنها در دسترس همان متدها می باشند و در متدهای دیگر قرار نمی گیرند، گفته می شود که دارای دامنه ی داخلی می باشند.

به هرحال می توانید متغیرهایی را در خارج از متدها تنظیم کنید که همه ی متدهای موجود در گروه شما می توانند ببینند. این متغیرها، متغیرهای Field (یا متغیرهای Instance) نامیده می شوند. می توانید آنها را دقیقا به روش دیگر متغیرها تنظیم کنید. چهار فیلد زیر را گزوه جدید StudentResult اضافه کنید.

آموزش جاوا

ما چهار رشته متغیر (چهار رشته فیلد) تنظیم می کنیم. همانطور که نام فیلدها نشان می دهد، رشته حاوی نام یک شخص، نام یک امتحان، یک نمره و یک درجه می شود. این چهار فیلد در دسترس همه ی متدهایی که در این گروه نوشتیم، قرار می گیرند و برای متدها داخلی نیستند. گفته می شود که دارای دامنه ی جهانی می باشند.

برای اینکه چگونگی جهانی بودن آنها را مشاهده کنیم، به گروه ExamDetails خود بازگردید، گروهی با متد اصلی (main). برای ایجاد یک آبجکت جدید از گروه StudentResults ، کد زیر را اضافه کنید.

آموزش جاوا

این همان کاری می باشد که در بخش قبل انجام دادهیم – استفاده از یک لغت کلیدی جدید برای ایجاد یک آبجکت جدید. نام آبجکت aStudent خواهد بود و از نوع StudentResults می باشد که گروه ماست.

در خط بعدی نام متغیر (aStudent) را که با یک نقطه (dot) دنبال می شود، تایپ کنید. به محض اینکه نقطه را تایپ کردید، NetBeans لیستی از متدها و پراپرتی های موجود در آبجکت شما را ارائه می دهد.

آموزش جاوا

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

شما می توانید مقادیری را برای پراپرتی ها تنظیم کنید. این مورد را امتحان کنید: کد مشخص شده ی زیر را به متد اصلی خود اضافه کنید.

آموزش جاوا

ما فیلد Exam_Name را از لیست انتخاب کرده ایم و به آن مقدار "VB NET" اختصاص داده ایم. سپس خط بعدی مقدار Exam_Name را از آبجکت aStudent می گیرد. نتیجه در متغیری به نام امتحان (exam) ذخیره شده و سپس چاپ می شود. وقتی برنامه را اجرا می کنید، خروجی رشته ی "VB Net" می باشد.

بنابراین چهار متغیری که تنظیم کرده ایم، در هر دو گروه در دسترس می باشند.

به هرحال جهانی ساختن متغیرهای فیلد، مانند این مورد، فکر خوبی نیست. شما تمایل به از دست دادن پیگیری مقادیری را دارید که در این متغیرها می باشند، بنابراین اشکال زدایی کد شما بسیار سخت تر می شود. محدود کردن دامنه ی متغیرهای فیلد، برنامه نویسی خوبی تلقی می شود.

برای اینکه یک متغیر فیلد تنها در دسترس یک گروه خاص باشد، درست قبل از اعلام فیلد لغت کلیدی private را وارد کنید. کد را در گروه StudentResults مانند زیر تغییر دهید.

آموزش جاوا

اکنون تنها کد موجود در گروه StudentResults می تواند این متغیرها را ببیند. برای بررسی به عقب، به متد اصلی خود بازگردید. باید چند اخطار و خطوط قرمز مشاهده کنید.

آموزش جاوا

سه خط را در پایین حذف کنید. aStudent را و سپس یک نقطه تایپ کنید تا لیست NetBeans را مشاهده کنید.

آموزش جاوا

همانطور که مشاهده می کنید، اکنون چهار متغیر فیلد محو شده اند. علت حذف آنها این است که دیگر دامنه ی جهانی ندارند و بنابراین از گروه ExamDetails قابل مشاهده نیستند.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

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

در این بخش چگونگی ایجاد آبجکت ها را فرا خواهید گرفت. یادگیری کلاس ها را تقریبا در یخش قبل آغاز کرده اید. اکنون به جزئیات بیشتری می پردازیم. در برخی موارد در مورد تفاوت بین یک آبجکت و کلاس گیج می شوید، گرچه وقتی درمورد یک کلاس صحبت می کنیم در واقع در مورد خود کد صحبت می کنیم، کدی که کاری انجام نمی دهد. وقتی کد را برای انجام کار فعال می سازید، این کد یک آبجکت می باشد.

وقتی کلاسی ایجاد می کنید، یک کد برای انجام یک کار خاص می نویسید. این کار ممکن است مربوط به یک کارمند باشد، اما فروش شرکت نیز در همان زمان شکل نمی گیرد. برای آمار فروش باید یک کلاس مجزا بنویسید. به این روش می توانید از کلاس کارمند (employee) در یک پروژه ی دیگر استفاده کنید. آمار فروش داده ی برکنار شده (redundant data) می باشند.

وقتی که سعی دارید نظریه های خود را در کلاس ها به کار برید، باید مسئله ی برکناری را در ذهن داشته باشید و از خود بپرسید: " آیا کدی در این کلاس وجود دارد که نیازی به آن در اینجا نیست؟"

در مورد مثال مربوط به این بخش، کلاسی خواهیم نوشت که شامل چند تمرین خواهد بود. روی وب سایت ما (www.tahlildadeh.com) چند امتحان وجود دارد که می توانید به رایگان به آنها دسترسی داشته باشید. در یک زمان سوال داده می شود و هر امتحان دارای 50 سوال می باشد. تمرین های مختلفی وجود دارند که می توانید به آنها دسترسی داشته باشید. در مورد مثال ما، سوالات را ساده می کنیم. نام شخصی که امتحان می گیرد، ایمکه کدام امتحان گرفته شده، نمره از 50 و یک درجه را ثبت می کنیم.

اجازه بدهید که یکی از موارد را شروع کنیم.

برای این مسئله یک پروژه ی جدید جاوا ایجاد کنید. پوشه ی exams را فرا بخوانید و سپس نام متود را از Main به ExamDetails تغییر دهید. سپس باید کد زیر را داشته باشید.

آموزش جاوا

کلاس دومی ایجاد خواهیم کرد تا داده ی امتحان را بررسی کنیم. بنابراین در NetBeans از نوار منو روی File کلیک کنید. از منوی File گزینه ی New File را انتخاب کنید. Java را در لیست Categories و Java Class را در لیست File Types مشخص کنید. سپس روی Finish کلیک کنید. NetBeans در پروژه ی شما یک کلاس دوم ایجاد خواهد کرد. شما می توانید کامنت های پیش فرض را حذف کنید.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش انتقال مقادیر چندگانه به متدها در جاوا

شما می توانید بیشتر از یک مقدار را به متدهای خود انتقال دهید. متدهای زیر را به your MyMethods class اضافه کنید.

آموزش جاوا

تمام آنچه این متد انجام می دهد، چاپ کردن یک مورد می باشد. بین پرانتزهای مربوط به نام متد، دو مقدار وجود دارد، یک متغیر String به نام aString و یک متغیر int به نام aVal. وقتی این متد را فرا می خوانیم، ابتدا نیاز به رشته و سپس نیاز به یک عدد داریم. سعی کنید آن را به روش دیگری انجام دهید و پیغام خطا دریافت خواهید کرد.

به گروه TestMethods خود بازگردید و فراخوانی زیر را به متد انجام دهید.

 مثال:

1
test1.print_text( "The value was ", aVal2 );‎

دوباره متد print_text باید در لیست NetBeans نمایش داده شود.

آموزش جاوا

مقادیری (پارامترها) که تعیین می کنیم، همراه با متد بازگشتی، void، بین پرانتزها می باشند.

اما پنجره ی برنامه نویسی اصلی شما اکنون شبیه به تصویر می باشد.

آموزش جاوا

دو مقداری که انتقال می دهیم، توسط یک کاما مجزا می شوند. توجه داشته باشید که مقدار داخل aVal2 انتقال داده شده باشد. به هرحال نام متغیر داخل پرانتزهای print_text در واقع aVal می باشد. گرچه نام های دو متغیر متفاوت می باشند، اما این مسئله مشکلی ایجاد نمی کند. آنچه شما انجام می دهید انتقال مقادیر به متد می باشد. بنابراین متغیر aVal با همان مقدار aVal2 به پایان می رسد.

اکنون اگر برنامه ی خود را اجرا کنید، باید پنجره ی Output زیر را مشاهده کنید.

آموزش جاوا

ما متدها را رها می کنیم. همانطور که پیش می رویم، متدهای بیشتری خواهیم نوشت، بنابراین شما باید زیاد تمرین کنید.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش انتقال مقادیر به متدهای جاوا

شما می توانید مقادیر را به متدهای جاوای خود طوری انتقال دهید که با این مقدار کاری انجام شود. این مقدار در بین پرانتزهای متد قرار می گیرد. به گروه MyMethos خود بازگردید. اکنون دومین متد total را اضافه کنید.

آموزش جاوا

اکنون دو متد هم نام داریم: total. تفاوت بین این دو این است که متد جدید دارای مقداری در بین پرانتزها می باشد. جاوا اجازه ی این کار را به شما می دهد که method overloading نامیده می شود. شما می توانید هر تعداد متد هم نام که می خواهید با هر مقدار بازگشتی داشته باشید. به هرحال نمی توانید یک نوع متغیر مشابه بین پرانتزها داشته باشید. بنابراین نمی توانید دو متد total داشته باشید که مقادیر int را بازمی گرداند که هر دوی آنها دارای مقادیر int در داخل پرانتزها هستند. به عنوان مثال نمی توانید این کار را انجام دهید.

1
2
3
4
5
6
7
8
int total( int aNumber ) { ‎
        int a_Value = aNumber + 20;‎
        return a_Value;‎
        ‎}‎
        int total( int aNumber ) {‎
        int a_Value = aNumber + 50;‎
        return a_Value; ‎
        ‎}‎

گرچه هر دو متد دو کار متفاوت انجام می دهند، هر دو دارای تیترهای یکسان متد می باشند. قبل از اینکه متد جدید خود را امتحان کنید، چند کامنت مستقیما در بالای متد اضافه کنید.

آموزش جاوا

مشاهده خواهید کرد که کامنتها در یک لحظه چگونه عمل می کنند. اما param در متدهای فوق مخفف parameter می باشد. یک پارامتر یک اصطلاح تخصصی برای مقدار بین پرانتزهای تیترهای متد می باشد. پارامتر ما aNumber نامیده می شود و این پارامتر دارای مقادیر صحیح می باشد. به استفاده ی کاراکتر @ قبل از param و return دقت داشته باشید.

تمام کاری که ما با خود متد انجام می دهیم، انتقال یک مقدار صحیح و افزودن 20 به این مقدار انتقالی می باشد. مقدار بازگشتی مجموع هر دو می باشد.

اکنون به کد خود بازگردید و خط زیر را به آن اضافه کنید.

 مثال:

1
int aVal2 = test1.total(30);‎

به محض اینکه نقطه را بعد از آبجکت test1 تایپ کردید، لیست پیش رو دوباره مشاهده خواهید کرد. متد جدید شما روی آن خواهد بود. روی متد جدید کلیک کنید تا آن را مشخص کنید و NetBeans مورد زیر را نمایش خواهد داد.

اکنون کامنت های اضافه شده در باکس آبی در زیر لیست متدها نمایش داده می شوند. هرکس دیگری که وارد متد شما شود، باید قادر به تشخیص کاری که انجام می دهد، باشد. خطوط @param و @returnاز کامنت ها پر شده و حالت bold می شوند.

اما زمانی که متد total2 را اضافه می کنید، عدد 30 را بین پرانتزها تایپ کنید. سپس یک نقطه ویرگول در انتهای خط تایپ کنید. اکنون متد اصلی شما باید مشابه زیر باشد.

آموزش جاوا

30 تایپ شده بین پرانتزهای متد جدید total تحویل داده شده و در متغیر aNumber قرار می گیرد.

آموزش جاوا

زمانی که مقدار را تحویل می دهید، متد می تواند وارد کار شود.

یک خط چاپی وارد کد خود کنید.

 مثال:

1
System.out.println( "Method result2= " + aVal2 );‎

سپس برنامه ی خود را اجرا کنید. پنجره ی Output صفحه ی زیر را نمایش می دهد.

آموزش جاوا

بنابراین متد total، 30 را به 20 اضافه کرده و سپس پاسخ را به متغیری به نام aVal2 بازمی گرداند.

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش فراخوانی متد جاوا

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

یک پروژه ی Java Application جدید آغاز کنید. پروژه ی خود را نام گذاری کرده و متد Main نیز تغییر نام دهید. سپس روی Finish کلیک کنید. در تصویر زیر پروژه ی خود را با عنوان prjmethods و گروه را TestMethods نام گذاری کرده ایم.

آموزش جاوا

برای افزودن یک گروه جدید به پروژه ی خود، از منوی NetBeans روی File کلیک کنید. از منوی File عبارت New File را انتخاب کنید. یک دیالوگ باکس برای شما ظاهر خواهد شد. در بخش Categories گزینه ی Java و در بخش File Types گزینه ی Java Class را انتخاب کنید. سپس روی دکمه ی Next در پایین کلیک کنید. در مرحله ی دوم، یک نام برای گروه جدید خود تایپ کنید. ما گروه خود را MyMethods نام نهاده ایم. شما می توانید هر چیز دیگری را به عنوان پیش فرض قرار دهید.

آموزش جاوا

بنابراین ما یک گروه دوم به نام MyMethods ایجاد می کنیم که در پروژه ی prjmethods خواهد بود. روی دکمه Finish کلیک کنید و پس از آن فایل گروه جدید ایجاد خواهد شد. در نرم افزار NetBeans یک تب جدید با کامنت های پیش فرض در مورد چگونگی تغییر الگوها ظاهر خواهد شد. اگر تمایل داشته باشید، می توانید این کامنت ها را حذف کنید. سپس پنجره ای با کد زیر برای شما ظاهر خواهد شد.

آموزش جاوا

موردی که باید به آن توجه کنید این است که این بار متد Main وجود ندارد – تنها با یک گروه خالی با نامی که انتخاب کرده اید و یک جفت آکولاد برای کد شما. اجازه بدهید یکی از متدهای خود را اضافه کنیم. بنابراین کد زیر را به گروه خود اضافه کنید.

آموزش جاوا

این متد int می باشد که قبلا با نام total به آن پرداختیم. در این متد چیزی بین پرانتزها مبنی بر اینکه قصد توزیع هر مقداری بر روی آن نداریم، وجود ندارد. تمام آنچه متد انجام می دهد افزودن 10 + 10 و ذخیره ی پاسخ در متغیری به نام a_Value می باشد. این مقداری است که از این متد بازگردانده خواهد شد. مقداری که پس از لغت کلیدی گزارش شده است، باید با نوع بازگشتی از تیتر متد هماهنگ باشد. در مورد مثال ما این امر درست می باشد، زیرا هر دو از نوع int می باشند.

( این مسئله مهم می باشد که در ذهن داشته باشید که متغیر a_Value در خارج از متد total دیده نمی شود: هر متغیری که در داخل متد تنظیم شده باشد، در خارج آن متد قابل دسترس نمی باشد. این متغیر با عنوان متغیر local شناخته می شود – در واقع در داخل متد قرار می گیرد)

برای فراخوانی متد total تب TestMethods را در NetBeans انتخاب کنید، موردی با متد Main. قصد داریم متد total را از متد Main فرابخوانیم.

اولین کاری که باید انجام شود، ایجاد یک آبجکت جدید از گروه MyMethods می باشد. خط زیر را به متد Main خود اضافه کنید.

آموزش جاوا

برای ایجاد یک آبجکت جدید از یک گروه، با نام گروه آغاز کنید، در مورد مثال ما گروه MyMethods نامیده می شود. این به جای int، double، String و غیره می باشد. به عبارت دیگر نوع متغیری که در حال ایجاد آن هستید یک متغیر MyMethods می باشد. پس از یک فاصله، یک نام برای متغیر جدیدMyMethods تایپ کنید. ما مورد خود را test1 نامیده ایم.(زیر این مورد خط کشیده شده، زیرا هنوز با آن کاری نکرده ایم. این یک مورد NetBeans می باشد)

یک علامت تساوی بعد از آن قرار می گیرد که با لغت کلیدی new دنبال می شود که به معنای new object می باشد. پس از لغت کلیدی new یک فاصله قرار دهید که مجددا با نام گروه شما دنبال می شود. این بار پس از نام گروه نیاز به یک جفت پرانز دارید. خط را به روش معمول به پایان برسانید، با یک نقطه ویرگرول (semi-colon).

آنچه در اینجا انجام داده ایم، ایجاد یک آبجکت MyMethods جدید با نام test1 می باشد. اکنون متد total در داخل گروه MyMethods از متد Main مربوط به گروه TestMethods در دسترس خواهد بود.

برای وارد عمل کردن متد، خطوط زیر را اضافه کنید.

آموزش جاوا

ما در حال تنظیم یک متغیر int با نام aVal می باشیم. پس از علامت تساوی نام گروه ما، test1، قرار می گیرد. برای دسترسی به متدها در گروه یک نقطه تایپ کنید. NetBeans جعبه ای را با متدهای موجود نمایش می دهد.

آموزش جاوا

متغیر total در لیست موجود می باشد ( دیگر متغیرها در متدها داخلی می باشند.). پرانتزها خالی هستند، زیرا متد ما مقادیر را نمی پذیرد، اما نوع بازگشتی، int، در سمت راست نمایش داده می شود. روی total دابل کلیک کنید تا آن را به کد خود اضافه کنید. سپس در انتهای خط یک نقطه ویرگول تایپ کنید.

در انتها یک خط چاپی اضافه کنید.

آموزش جاوا

وقتی که کد اجرا می شود، پنجره ی Output صفحه ی زیر را نمایش خواهد داد.

آموزش جاوا

بنابراین برای فراخوانی یک متد که یک مقدار را بازمی گرداند، دقت کنید که چه نوع مقداری توسط متد شما بازگردانده می شود. سپس این مقدار را به یک متغیر جدید اختصاص دهید، در مورد ما این متغیر aVal می باشد. اما وقتی که یک نقطه پس از نام آبجکت خود تایپ می کنید، متد باید در دسترس باشد.

به هرحال اگر متد شما از نوع void می باشد، نیازی به اختصاص دادن آن به متغیر جدیدی مانند aVal نمی باشد. به عنوان مثال به گروه MyMethods خود بازگشته و متد void را که قبلا بررسی کردید، اضافه کنید.

آموزش جاوا

این متد جدید print_text نامیده می شود. این متد نیز دارای پرانتزهای خالی می باشد که به آنها هیچ مقداری اختصاص نمی دهیم. تمام کاری که این متد انجام می دهد چاپ کردن متن می باشد.

زمانی که متد void را اضافه کرده اید، به گروه TestMethods بازگردید و خط زیر را اضافه کنید.

test1.print_text( )‎

به محض اینکه نقطه را تلیپ کردید، باید متد جدید را مشاهده کنید که روی لیست ظاهر می شود.

آموزش جاوا

اما متدهای ما که اکنون روی لیست هستند عبارتند از total و print_text. مقادیری که این متدها در سمت نمایش می دهند int و void می باشند.

از آنجایی که متد print_text یک متد خالی (void) می باشد، نیازی به تنظیم یک مقدار بازگشتی ندارید. تمام آنچه نیاز دارید نام آبجکت، یک نقطه (dot) و یک متد void می باشد که قصد فراخوانی آن را دارید. سپس جاوا تنها با اجرای کد در داخل متد شما ادامه خواهد داد.

کد خود را اجرا کنید و پنجره ی Output شما باید صفحه ای مانند زیر نمایش دهد.

آموزش جاوا

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "