۱۳۸۹ فروردین ۳۰, دوشنبه

زير مجموعه هاي متد

دو زير مجموعه متد به قرار زير است
Getter- متد هايي كه يك مقدار را از يك شي بر مي گردانند. مقادير اغلب مثل يك فيلد (ميدان) ساده در يك كلاس قرار دارند اما ممكن است همچنين زماني كه getter صدا مي شود ساخته شود.
قرار دادهاي نامگذاري : قرار دادهاي نامگذاري جاوا براي متد هاي getter بستگي به آن دارد كه آيا برگشتي متد بولي boolean هست يا نه.
boolean getter عمومآ با كلمات is يا has شروع مي شوند
if (x.isVisible())......
while (y.hasDescendants()).....
همه انواع ديگر getter ها با كلمه get شروع مي شوند مثل:
String greeting = z.getText()
متد هاي Setter مقدار يا ويژ ‍گي ها ي يك شي را تنظيم مي كند كه ممكن است به صورت يك فيلد پياده شده باشد ، اما مي تواند به روش هاي ديگر نيز پياده سازي شود.
مقدار برگشتي: نوعآ setter ها هيچ مقداري را بر نمي گردانند. اما دو راه براي برگرداندن مقدار وجود دارد
1- برگرداندن مقادير قديمي
2- برگرداندن شي كه setter هاي صدا شده بتوانند به آن زنجير شوند

۱۳۸۹ فروردین ۲۳, دوشنبه

آناتومي متد

1- قابليت ديدن

public - private - package - protected

private اگرنمي خواهيد كلاس هاي ديگر از اين متد استفاده كنند

package اگر از هيچ عبارتي پيش از متد استفاده نكنيد به طور معمول آن متد به كلاس هايي كه داخل همان پكيج هستند اجازه استفاده مي دهد.

protected از اين عبارت استفاده نكنيد مگر در حالتي كه بخواهيد زير كلاس ها آن را ببينند.

public به همه كلاس ها اجازه مي دهد آن را ببينند.


2- كلاس استاتيك يا متد نمونه

يك متد در صورتي بايد استاتيك اعلان شود كه متغير يا متد نمونه نباشد. يك متد استاتيكفقط از پارامتر ها ي متغير هاي محلي ، ثابت هاي استاتيك و ديگر متد هاي استاتيك در همان كلاس استفاده مي كند.

اگر لغت كليدي استاتيك از قلم بيفتد متد يك متد نمونه خواهد بود.

3- نوع برگشتي مثل double

4- پارامتر ها ، كه داخل پرانتز قرار مي گيرند

5- بدنه متد ، كه داخل آكولاد قرار مي گيرند و جملاتي است كه وقتي متد صدا مي شوند اجرا مي گردند

6- جمله بر گشتي Return

يك متد بعد از آنكه آنچه كه بايد انجام داد به سوي صدا كننده بر مي گردد. اگر متد مقداري را برگرداند ( void نباشد) بايد شامل جمله return كه مقدار برگشتي را ميدهد باشد و وقتي برنامه به جمله return مي رسد كنترل به صدا كننده متد مي رسد تا مقدار برگشتي را به آن بدهد
مقدار بر گشتي به دو صورت مي تواند نوشته شود
1- متد يك مقدار را بر مي گرداند مثل:
double M = kilometers * MPR;
return M;
2- يك جمله ( بيان) را برگرداند
return kilometers*MPR;

۱۳۸۹ فروردین ۱۶, دوشنبه

آرگومنت ها (پارامتر ها)

مقاديري كه در يك متد قرار داده مي شود در زبان جاوا آرگومنت ناميده مي شود
وقتي متدي را صدا مي زنيد مي توانيد اطلاعاتي را در آن قرار داده تا استفاده كنيد آرگومنت داخل پرانتز قرار مي گيرند. اگر بيش از يك رگومنت وجود داشته باشد مي تواميد آنها را با كاما از هم جدا كنيد
JOption Pane.showInputDialog(null,"Enter.....");
ارزيابي آرگومنت ها
آرگومنت ها از چپ به راست ارزيابي مي شوند.

چرا از متد ها استفاده مي كنيم

1- براي كد هاي تكراري
اگر مرتب نياز به انجام كاري هستيد مي توانيد يك متد براي آن بنويسيد تا آن كار را انجام دهد و در صورت نياز آن متد را صدا كنيد.
2- براي پارامتري كردن كد ها
در ادامه استفاده از كد هاي تكراري مي توانيد با استفاده از پارامتر ها مسيري را كه آن كار انجام مي گيرد را تغيير دهيد
3- براي خلق واحد هاي ادراكي
متد ها را ايجاد كنيد تا ايده ها يتان را اجرا كنيد
4- براي ساده سازي
از آنجاييكه متغير هاي محلي و جملات يك متد از خارج از متد قابل ديدن نيستند آنها و پيچيدگي شان از بقيه قسمت هاي برنامه پنهان است اين كار مانع خطاهاي تصادفي و اغتشاش برنامه مي شود.

نكاتي در مورد متد ها

كد هاي جاوا در متد ها نوشته مي شوند.
هر متد در داخل يك كلاس قرار مي گيرد.
هر متد يك نام دارد كه به حروف كوچك شروع مي شود و عمومآ يك فعل است زيرا كاري انجام مي دهد.
در زبان هاي برنامه نويسي ديگر متد ها به نام هاي
function
procedure
subroutine
خوانده مي شود.
يك متد ممكن است مقداري را برگرداند مثل
parseDouble
يا هيچ مقداري را بر نگرداند مثل
showMessageDialog


تشخيص متد ها:
هميشه متد ها با دو پرانتز چپ و راست پايان مي پذيرند كه ممكن است داخل پرانتز آرگومنت (پارامتر) باشد.
هرگاه در كد هاي جاوا پرانتز مشاهده كرديد كه قبل از آن نامي وجود داشت آن يا يك متد يا يك كانستراكتور( سازنده) مي باشد سازنده ها هم بسيار شبيه متد ها مي باشند.
بدنه متد داخل آكولاد قرار مي گيرند.
گاهي متد ها به دنبال كلاسي كه از آن مشتق مي شوند مي آيند كه بين كلاس و متد يك نقطه قرار دارد مثلآ در :

JOptionPane.showMessageDialog(.....);
متد showMessageDialog از كلاس JOptionPane مشتق شده است
يا در :
Double.ParseDouble(.....);
متد ParseDouble از كلاس Double مشتق شده است.
اگر نام كلاس را ذكر نكنيد متد فرض مي كند در كلاس جاري تعريف شده است.