באופן כללי, א שיטה היא דרך לבצע משימה כלשהי. באופן דומה, ה שיטה ב-Java הוא אוסף הוראות המבצע משימה מסוימת. זה מספק שימוש חוזר בקוד. אנו יכולים גם לשנות קוד בקלות באמצעות שיטות . בחלק זה נלמד מהי שיטה ב-Java, סוגי שיטות, הצהרת שיטה, ו איך לקרוא למתודה ב-Java .
מהי שיטה ב-Java?
א שיטה הוא גוש קוד או אוסף של הצהרות או קבוצת קוד המקובצת יחד לביצוע משימה או פעולה מסוימים. הוא משמש כדי להשיג את שימוש חוזר של קוד. אנו כותבים שיטה פעם אחת ומשתמשים בה פעמים רבות. אנחנו לא צריכים לכתוב קוד שוב ושוב. זה גם מספק את שינוי קל ו קְרִיאוּת של קוד, רק על ידי הוספה או הסרה של גוש קוד. השיטה מבוצעת רק כאשר אנו קוראים או מפעילים אותה.
השיטה החשובה ביותר בג'אווה היא ה רָאשִׁי() שיטה. אם אתה רוצה לקרוא עוד על שיטת main() עבור דרך הקישור https://www.javatpoint.com/java-main-method .
הצהרת שיטה
הצהרת השיטה מספקת מידע על תכונות שיטה, כגון נראות, סוג החזרה, שם וארגומנטים. יש לו שישה רכיבים המכונים כותרת השיטה , כפי שהראינו באיור הבא.
חתימת שיטה: לכל שיטה יש חתימת שיטה. זה חלק מהצהרת השיטה. זה כולל את שם השיטה ו רשימת פרמטרים .
מפרט גישה: מפרט גישה או משנה הוא סוג הגישה של השיטה. הוא מפרט את הנראות של השיטה. Java מספקת ארבע סוגי מפרט גישה:
סוג החזרה: סוג החזרה הוא סוג נתונים שהשיטה מחזירה. יכול להיות שיש לה סוג נתונים פרימיטיבי, אובייקט, אוסף, ריק וכו'. אם השיטה לא מחזירה כלום, אנו משתמשים במילת מפתח void.
מתנגד ל-json ב-java
שם השיטה: זהו שם ייחודי המשמש להגדרת שם של שיטה. זה חייב להיות תואם לפונקציונליות של השיטה. נניח שאם אנחנו יוצרים שיטה לחיסור של שני מספרים, שם השיטה חייב להיות חִסוּר(). שיטה מופעלת בשמה.
רשימת פרמטרים: זוהי רשימת הפרמטרים המופרדים בפסיק ומוקפים בצמד הסוגריים. הוא מכיל את סוג הנתונים ושם המשתנה. אם לשיטה אין פרמטר, השאר את הסוגריים ריקים.
גוף השיטה: זה חלק מהצהרת השיטה. הוא מכיל את כל הפעולות שיש לבצע. הוא סגור בתוך זוג הפלטה המתולתלת.
מתן שם לשיטה
בעת הגדרת שיטה, זכור ששם השיטה חייב להיות a פועל ולהתחיל עם א אותיות קטנות מִכְתָב. אם שם השיטה מכיל יותר משתי מילים, השם הפרטי חייב להיות פועל ואחריו שם תואר או שם עצם. בשם השיטה מרובת המילים, האות הראשונה של כל מילה חייבת להיות ב- אותיות רישיות חוץ מהמילה הראשונה. לדוגמה:
שם שיטה במילה אחת: sum(), area()
שם שיטה מרובת מילים: areaOfCircle(), stringComparision()
ייתכן גם שלמתודה יש שם זהה לשם מתודה אחרת באותה מחלקה, היא ידועה בשם עומס יתר בשיטה .
סוגי שיטה
ישנם שני סוגים של שיטות ב-Java:
- שיטה מוגדרת מראש
- שיטה מוגדרת על ידי משתמש
שיטה מוגדרת מראש
ב-Java, מתודות מוגדרות מראש הן השיטה שכבר מוגדרת בספריות מחלקות Java, ידועה כמתודות מוגדרות מראש. זה ידוע גם בשם שיטת ספרייה סטנדרטית אוֹ שיטה מובנית . אנחנו יכולים להשתמש ישירות בשיטות האלה רק על ידי קריאה להן בתוכנית בכל נקודה. כמה שיטות מוגדרות מראש הן length(), שווה(), compareTo(), sqrt(), וכדומה. כאשר אנו קוראים לכל אחת מהשיטות המוגדרות מראש בתוכנית שלנו, סדרה של קודים הקשורים למתודה המתאימה פועלת ברקע שכבר מאוחסן בספרייה.
כל שיטה מוגדרת מראש מוגדרת בתוך מחלקה. כמו הדפס() השיטה מוגדרת ב java.io.PrintStream מעמד. זה מדפיס את ההצהרה שאנחנו כותבים בתוך השיטה. לדוגמה, print('Java') , הוא מדפיס Java על המסוף.
בואו נראה דוגמה לשיטה שהוגדרה מראש.
Demo.java
public class Demo { public static void main(String[] args) { // using the max() method of Math class System.out.print('The maximum number is: ' + Math.max(9,7)); } }
תְפוּקָה:
The maximum number is: 9
בדוגמה לעיל, השתמשנו בשלוש שיטות מוגדרות מראש main(), print(), ו מקסימום() . השתמשנו בשיטות אלה ישירות ללא הצהרה מכיוון שהן מוגדרות מראש. השיטה print() היא שיטה של PrintStream מחלקה שמדפיסה את התוצאה על המסוף. השיטה max() היא שיטה של מתמטיקה מחלקה שמחזירה את הגדול מבין שני מספרים.
אנו יכולים גם לראות את חתימת השיטה של כל שיטה מוגדרת מראש באמצעות הקישור https://docs.oracle.com/ . כאשר אנו עוברים על הקישור ורואים את חתימת המתודה max() אנו מוצאים את הדברים הבאים:
בחתימת השיטה לעיל, אנו רואים שלחתימת השיטה יש מפרט גישה פּוּמְבֵּי , משנה ללא גישה סטָטִי , סוג החזרה int , שם השיטה מקסימום(), רשימת פרמטרים (int a, int b). בדוגמה שלמעלה, במקום להגדיר את השיטה, פשוט הפעלנו את השיטה. זהו היתרון של שיטה מוגדרת מראש. זה הופך את התכנות לפחות מסובך.
באופן דומה, אנו יכולים לראות גם את חתימת השיטה של שיטת print() .
שיטה מוגדרת על ידי משתמש
השיטה שנכתבה על ידי המשתמש או המתכנת ידועה בשם מוגדר על ידי משתמש שיטה. שיטות אלו משתנות בהתאם לדרישה.
כיצד ליצור שיטה מוגדרת על ידי משתמש
בואו ניצור שיטה המוגדרת על ידי משתמש הבודקת שהמספר זוגי או אי-זוגי. ראשית, נגדיר את השיטה.
//user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+' is even'); else System.out.println(num+' is odd'); }
הגדרנו את השיטה לעיל בשם findevenodd(). יש לזה פרמטר על אחד מסוג int. השיטה לא מחזירה שום ערך וזו הסיבה שהשתמשנו ב-void. גוף השיטה מכיל את השלבים לבדיקת המספר זוגי או אי-זוגי. אם המספר זוגי, הוא מדפיס את המספר שווה , אחרת מדפיס את המספר הוא מוזר .
כיצד להתקשר או להפעיל שיטה מוגדרת על ידי משתמש
לאחר שהגדרנו שיטה, יש לקרוא לה. הקריאה של שיטה בתוכנית היא פשוטה. כאשר אנו קוראים או מפעילים שיטה מוגדרת על ידי המשתמש, בקרת התוכנית עוברת למתודה שנקראה.
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print('Enter the number: '); //reading value from the user int num=scan.nextInt(); //method calling findEvenOdd(num); }
בקטע הקוד שלמעלה, ברגע שהמהדר מגיע לקו findEvenOdd(num), העברת הבקרה לשיטה ונותנת את הפלט בהתאם.
בואו נשלב את שני קטעי הקודים בתוכנית אחת ונבצע אותה.
EvenOdd.java
import java.util.Scanner; public class EvenOdd { public static void main (String args[]) { //creating Scanner class object Scanner scan=new Scanner(System.in); System.out.print('Enter the number: '); //reading value from user int num=scan.nextInt(); //method calling findEvenOdd(num); } //user defined method public static void findEvenOdd(int num) { //method body if(num%2==0) System.out.println(num+' is even'); else System.out.println(num+' is odd'); } }
פלט 1:
Enter the number: 12 12 is even
פלט 2:
Enter the number: 99 99 is odd
בוא נראה תוכנית אחרת שמחזירה ערך לשיטת הקריאה.
בתוכנית הבאה, הגדרנו שיטה בשם לְהוֹסִיף() שמסכם את שני המספרים. יש לו שני פרמטרים n1 ו-n2 מסוג מספר שלם. הערכים של n1 ו-n2 תואמים את הערך של a ו-b, בהתאמה. לכן, השיטה מוסיפה את הערך של a ו-b ומאחסנת אותו במשתנה s ומחזירה את הסכום.
Addition.java
אדית מאק הירש
public class Addition { public static void main(String[] args) { int a = 19; int b = 5; //method calling int c = add(a, b); //a and b are actual parameters System.out.println('The sum of a and b is= ' + c); } //user defined method public static int add(int n1, int n2) //n1 and n2 are formal parameters { int s; s=n1+n2; return s; //returning the sum } }
תְפוּקָה:
The sum of a and b is= 24
שיטה סטטית
שיטה שיש לה מילת מפתח סטטית ידועה בשם שיטה סטטית. במילים אחרות, שיטה ששייכת למחלקה ולא למופע של מחלקה ידועה בתור מתודה סטטית. נוכל גם ליצור שיטה סטטית באמצעות מילת המפתח סטָטִי לפני שם השיטה.
היתרון העיקרי של שיטה סטטית הוא שאנו יכולים לקרוא לה מבלי ליצור אובייקט. זה יכול לגשת לחברי נתונים סטטיים וגם לשנות את הערך שלהם. הוא משמש ליצירת שיטת מופע. הוא מופעל באמצעות שם המחלקה. הדוגמה הטובה ביותר לשיטה סטטית היא רָאשִׁי() שיטה.
דוגמה לשיטה סטטית
Display.java
public class Display { public static void main(String[] args) { show(); } static void show() { System.out.println('It is an example of static method.'); } }
תְפוּקָה:
Java indexof
It is an example of a static method.
שיטת מופע
השיטה של המחלקה ידועה בשם an שיטת מופע . זה לא סטטי שיטה שהוגדרה בכיתה. לפני קריאה או הפעלת שיטת המופע, יש צורך ליצור אובייקט מהמחלקה שלו. בואו נראה דוגמה לשיטת מופע.
InstanceMethodExample.java
public class InstanceMethodExample { public static void main(String [] args) { //Creating an object of the class InstanceMethodExample obj = new InstanceMethodExample(); //invoking instance method System.out.println('The sum is: '+obj.add(12, 13)); } int s; //user-defined method because we have not used static keyword public int add(int a, int b) { s = a+b; //returning the sum return s; } }
תְפוּקָה:
The sum is: 25
ישנם שני סוגים של שיטות מופע:
שיטת אביזר: השיטה/ים שקוראת את משתני/י המופע ידועה כשיטת ה-Accessor. אנו יכולים לזהות אותו בקלות מכיוון שהשיטה מקודמת עם המילה לקבל . זה ידוע גם בשם קבלנים . זה מחזיר את הערך של השדה הפרטי. הוא משמש כדי לקבל את הערך של השדה הפרטי.
דוגמא
public int getId() { return Id; }
שיטת מוטטור: השיטה/ות קוראים את משתני/י המופע וגם משנים את הערכים. אנו יכולים לזהות אותו בקלות מכיוון שהשיטה מקודמת עם המילה מַעֲרֶכֶת . זה ידוע גם בשם קובעים אוֹ משנים . זה לא מחזיר כלום. הוא מקבל פרמטר מאותו סוג נתונים התלוי בשדה. הוא משמש להגדרת הערך של השדה הפרטי.
דוגמא
public void setRoll(int roll) { this.roll = roll; }
דוגמה לשיטת אקססור ומוטטור
Student.java
public class Student { private int roll; private String name; public int getRoll() //accessor method { return roll; } public void setRoll(int roll) //mutator method { this.roll = roll; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void display() { System.out.println('Roll no.: '+roll); System.out.println('Student name: '+name); } }
שיטה מופשטת
השיטה שאין לה גוף שיטה ידועה בתור שיטה מופשטת. במילים אחרות, ללא יישום ידוע בתור שיטה מופשטת. זה תמיד מצהיר ב שיעור מופשט . זה אומר שהמחלקה עצמה חייבת להיות מופשטת אם יש לה שיטה מופשטת. כדי ליצור שיטה מופשטת, אנו משתמשים במילת המפתח תַקצִיר .
תחביר
abstract void method_name();
דוגמה לשיטה מופשטת
Demo.java
abstract class Demo //abstract class { //abstract method declaration abstract void display(); } public class MyClass extends Demo { //method impelmentation void display() { System.out.println('Abstract method?'); } public static void main(String args[]) { //creating object of abstract class Demo obj = new MyClass(); //invoking abstract method obj.display(); } }
תְפוּקָה:
Abstract method...
שיטת המפעל
זוהי שיטה שמחזירה אובייקט למחלקה אליה הוא שייך. כל השיטות הסטטיות הן שיטות המפעל. לדוגמה, NumberFormat obj = NumberFormat.getNumberInstance();