שיטות בג'אווה

1. הקדמה

בג'אווה, השיטות הן המקום בו אנו מגדירים את ההיגיון העסקי של יישום. הם מגדירים את האינטראקציות בין הנתונים הכלואים באובייקט.

במדריך זה, נעבור על התחביר של שיטות Java, הגדרת חתימת השיטה וכיצד להתקשר ולהעמיס שיטות.

2. תחביר השיטה

ראשית, שיטה מורכבת משישה חלקים:

  • שינוי גישה: באופן אופציונלי אנו יכולים לציין מאיפה הקוד יכול לגשת לשיטה
  • סוג החזרה: סוג הערך שהוחזר על ידי השיטה, אם קיים
  • מזהה שיטה: את השם שאנו נותנים לשיטה
  • רשימת פרמטרים: רשימת כניסות אופציונלית להפרדת פסיקים לשיטה
  • רשימת חריגים: רשימה אופציונאלית של חריגים שהשיטה יכולה לזרוק
  • גוּף: הגדרת ההיגיון (יכולה להיות ריקה)

בואו נראה דוגמה:

בואו נסתכל מקרוב על כל אחד מששת החלקים הללו של שיטת Java.

2.1. שינוי הגישה

שינוי הגישה מאפשר לנו לציין לאילו אובייקטים יכולה להיות גישה לשיטה. ישנם ארבעה משתני גישה אפשריים: ציבורי, מוגן, פרטי, וברירת מחדל (נקרא גם חבילה-פרטית).

שיטה יכול לכלול גם את סטָטִי מילת מפתח לפני או לאחר שינוי הגישה. משמעות הדבר היא שהשיטה שייכת למחלקה ולא למופעים, ולכן אנו יכולים לקרוא לשיטה מבלי ליצור מופע של המחלקה. שיטות ללא סטָטִי מילת המפתח ידועה כשיטות מופע וניתן להפעיל אותה רק על מופע של הכיתה.

בקשר לביצועים, שיטה סטטית תוטען בזיכרון רק פעם אחת - במהלך טעינת הכיתה - וכך היא חסכונית יותר בזיכרון.

2.2. סוג החזרה

שיטות יכולות להחזיר נתונים לקוד ממנו נקראו. שיטה יכולה להחזיר ערך פרימיטיבי או הפניה לאובייקט, או שהיא לא יכולה להחזיר דבר אם אנו משתמשים ב- בָּטֵל מילת המפתח כסוג ההחזרה.

בואו נראה דוגמה של א בָּטֵל שיטה:

חלל ריק printFullName (שם מחרוזת, שם משפחה מחרוזת) {System.out.println (שם פרטי + "" + שם משפחה); }

אם אנו מצהירים על סוג החזרה, עלינו לציין a לַחֲזוֹר הצהרה בגוף השיטה. פעם ה לַחֲזוֹר ההצהרה בוצעה, הביצוע של גוף השיטה יסתיים ואם יש הצהרות נוספות, אלה לא יעובדו.

מצד שני, א בָּטֵל השיטה לא מחזירה שום ערך, ולכן אין לה לַחֲזוֹר הַצהָרָה.

2.3. מזהה שיטה

מזהה השיטה הוא השם שאנו מקצים למפרט שיטה. נהוג להשתמש בשם אינפורמטיבי ותיאורי. ראוי להזכיר שמזהה שיטה יכול לכלול לכל היותר 65536 תווים (אם כי שם ארוך).

2.4. רשימת פרמטרים

אנחנו יכולים ציין ערכי קלט לשיטה ברשימת הפרמטרים שלה, הכלולה בסוגריים. שיטה יכולה לכלול בין 0 ל -255 פרמטרים המופרדים על ידי פסיקים. פרמטר יכול להיות אובייקט, פרימיטיבי או ספירה. אנו יכולים להשתמש בהערות ג'אווה ברמת פרמטר השיטה (למשל הערת האביב @RequestParam).

2.5. רשימת חריגים

אנו יכולים לציין אילו חריגים מושלכים בשיטה באמצעות ה- זורק סָעִיף. במקרה של חריג מסומן, עלינו לכלול את הקוד ב- נסה לתפוס סעיף או שעלינו לספק א זורק סעיף בחתימת השיטה.

אז בואו נסתכל על גרסה מורכבת יותר של השיטה הקודמת שלנו, שמציגה חריג מסומן:

public void writeName (שם מחרוזת) זורק את IOException {PrintWriter out = New PrintWriter (FileWriter חדש ("OutFile.txt")); out.println ("שם:" + שם); out.close (); }

2.6. גוף השיטה

החלק האחרון של שיטת Java הוא גוף השיטה, המכיל את הלוגיקה אותה אנו רוצים לבצע. בגוף השיטה נוכל לכתוב כמה שורות קוד שאנחנו רוצים - או בכלל לא במקרה של סטָטִי שיטות. אם השיטה שלנו מצהירה על סוג החזרה, אז גוף השיטה חייב להכיל הצהרה חוזרת.

3. חתימת שיטה

על פי הגדרתו, חתימת שיטה מורכבת משני רכיבים בלבד - שם השיטה ורשימת הפרמטרים.

אז בואו נכתוב שיטה פשוטה:

ציבורי מחרוזת getName (שם מחרוזת, שם משפחה מחרוזת) {return firstName + "" + name name + "" + lastname; }

החתימה של שיטה זו היא getName (שם מחרוזת, שם משפחה מחרוזת).

מזהה השיטה יכול להיות כל מזהה. עם זאת, אם אנו עוקבים אחר מוסכמות קידוד נפוצות של ג'אווה, מזהה השיטה צריך להיות פועל באותיות קטנות שאפשר לאחריו תארים ו / או שמות עצם.

4. קריאה לשיטה

עכשיו, בואו נחקור איך קוראים לשיטה בג'אווה - -. בעקבות הדוגמה הקודמת, נניח כי שיטות אלה כלולות בשיעור Java הנקרא PersonName:

class class PersonName {public String getName (String firstName, String lastName) {return firstName + "" + middleName + "" + lastname; }}

מאז שלנו getName שיטה היא שיטת מופע ולא א סטָטִי שיטה, על מנת לקרוא לשיטה getName, אנחנו צריכים ליצור מופע של הכיתהPersonName:

PersonName personName = חדש PersonName (); מחרוזת fullName = personName.getName ("אלן", "טיורינג");

כפי שאנו רואים, אנו משתמשים באובייקט שנוצר כדי לקרוא ל- getName שיטה.

לבסוף, בואו נסתכל על איך קוראים סטָטִי שיטה. במקרה של שיטה סטטית, איננו זקוקים למופע מחלקה בכדי לבצע את השיחה. במקום זאת, אנו קוראים לשיטה עם שמה לפני קידומת שם המחלקה.

בואו נדגים באמצעות גרסה של הדוגמה הקודמת:

מחלקה ציבורית PersonName {public static String getName (String firstName, String lastName) {return firstName + "" + middlename + "" + lastname; }}

במקרה זה, קריאת השיטה היא:

מחרוזת fullName = PersonName.getName ("אלן", "טיורינג");

5. עומס יתר בשיטה

ג'אווה מאפשרת לנו להיות שתי שיטות או יותר עם אותו מזהה אך רשימת פרמטרים שונה - חתימות שיטות שונות. במקרה זה אנו אומרים זאת השיטה עמוסה יתר על המידה. בוא נלך עם דוגמה:

ציבורי מחרוזת getName (שם מחרוזת, שם משפחה מחרוזת) {return getName (שם פרטי, "", שם משפחה); } מחרוזת ציבורית מחרוזת (שם מחרוזת, שם משתמש מחרוזת, שם משפחה מחרוזת) {if (! middleName.isEqualsTo ("")) {return firstName + "" + שם משפחה; } להחזיר שם פרטי + "" + שם אמצעי + "" + שם משפחה; }

העמסת יתר של שיטות שימושית במקרים כמו זו שבדוגמה, שבהם נוכל לקבל שיטה המיישמת גרסה פשוטה של ​​אותה פונקציונליות.

לבסוף, הרגל תכנון טוב הוא להבטיח ששיטות עמוסות יתר יתנהגו באופן דומה. אחרת, הקוד יהיה מבלבל אם שיטה עם אותו מזהה מתנהגת בצורה אחרת.

6. מסקנה

במדריך זה חקרנו את חלקי התחביר של Java המעורבים בעת ציון שיטה ב- Java.

בפרט עברנו על שינוי הגישה, סוג ההחזרה, מזהה השיטה, רשימת הפרמטרים, רשימת החריגים וגוף השיטה. ואז ראינו את ההגדרה של חתימת השיטה, איך קוראים לשיטה ואיך להעמיס יתר על המידה שיטה.

כרגיל, הקוד שנראה כאן זמין ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found