Java/שיטות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Crazy Ivan (שיחה | תרומות)
מ קטגוריה
שורה 30:
}
</pre></div>
כדי לקרוא לשיטה, כתבנו printHello();&lrm;, ב-main והשיטה בוצעה. איננו חייבים לקרוא לשיטה דווקא מה-main: אפשר לקרוא לשיטה מכל שיטה אחרת, ואפילו מאותה השיטה עצמה (מה יקרה אם נוסיף את השורה printHello();&lrm; לשיטה printHello? נסו!). נתעכב כעת בצורה מפורטת יותר על השורה הראשונה של השיטה: תחילת השורה במילה '''public''', שמצהירה על כך שהשיטה היא פומבית. זה עניין שנוגע לתכנות מתקדם יותר, אך בקצרה ניתן לומר שבג'אווה קיימת מערכת של הרשאות, והמילה public מאפשרת לכל אחד לגשת לשיטה זו. המילה הבאה היא '''static''', שנוגעת לתכנות מונחה עצמים. גם לגביה, נוותר על ההסבר. המילה הבאה מעניינת אותנו הרבה יותר: המילה '''void''' היא הצהרה לגבי משתני הפלט של השיטה: המילה void, שפירושה המילולי הוא "ריק", אומרת למחשב שהשיטה לא מחזירה שום ערך שהוא. אם השיטה הייתה מחזירה ערך, את המילה void היה מחליף סוג המשתנה שהשיטה מיועדת להחזיר.
 
נעבור כעת לשיטה מעט מורכבת יותר, המשתמשת גם במשתני קלט ופלט:
שורה 42:
}
</pre></div>
זוהי שיטה שמטרתה לחשב חזקה: היא מקבלת שני מספרים שלמים ומחזירה את תוצאת ההעלאה בחזקה של המספר הראשון בשני. נעיר כי למען הנוחות, תוצאת העלאה בכל חזקה שלילית (או 0) נקבעה להיות 1, והשיטה מקבלת מספרים שלמים בלבד. נתבונן על השינויים בשיטה ביחס לשיטה הקודמת: השינויים הראשונים נמצאים בשורה הראשונה: את מקום המילה void החליפה המילה int, וזאת מכיוון שהשיטה הזו מחזירה ערך, והוא מטיפוס int. שינוי (משמעותי) אחר מהווים המשתנים int x ו-int n שהופיעו בתוך הסוגריים, שבשיטה הקודמת היו ריקות. משתנים אלה הם המשתנים שהשיטה מקבלת - הם מוגדרים בתוך השיטה וערכם הוא הערך שהוצב כאשר שיטה אחרת קראה לשיטה הזו. השינוי המשמעותי האחרון היא המילה return. כאשר מילה זו מופיעה - פעולת השיטה מסתיימת, והערך שנכתב אחרי המילה יוחזר. שימו לב - הערך שמוחזר חייב להיות מאותו הטיפוס שקבענו! לדוגמה, אם בשיטה power, שהוגדרה להחזיר טיפוס int, ננסה להחזיר מספר מטיפוס double - ניתקל בשגיאה. כמו שאפשר לראות, בעזרת return ניתן להחזיר משתנה או קבוע - אין הבדל, ובתנאי שהטיפוס מתאים. גם בשיטה שלא מחזירה ערך (void) אפשר להשתמש ב-return בלי כל ערך (return;&lrm;, וזה יביא לסיום מיידי של פעולת השיטה - אמצעי שיכול להיות שימושי.
 
נציג כאן את התוכנית השלמה: