logo

מדוע אנו משתמשים ב-Constructor ב-Java?

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

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

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

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

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

סוגי קונסטרוקטים

ישנם שני סוגים של בנאים ב-Java:

  • בנאי בעל פרמטרים
  • ברירת המחדל של קונסטרוקטור

קונסטרוקטור בעל פרמטרים

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

דוגמא

 public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } } 

ברירת המחדל של קונסטרוקטור

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

דוגמא

 public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } } 

הערה: כאשר איננו מספקים בנאי לתוכנית Java, מהדר Java כותב את הבנאי המוגדר כברירת מחדל בשם המתכנת ומרכיב את התוכנית. זה מאתחל את משתני המופע עם ערכי ברירת המחדל. לדוגמה, 0 עבור מספר שלם, 0.0 עבור float ו-null עבור מחרוזת.

בואו ניצור תוכנית ונשתמש בבנאי ברירת המחדל ובפרמטרים.

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

Employee.java

 import java.util.Scanner; public class Employee { private String name; private int age; //parameterized constructor public Employee(String name, int age) { this.name =name; this.age = age; } //Default constructor public Employee() { this.name = 'William'; this.age = 28; } //method for printing the values public void show() { System.out.println('Name of the employee: '+this.name); System.out.println('Age of the employee: '+this.age); } //main method public static void main(String args[]) { Employee e=new Employee(); //Reading values from user Scanner sc = new Scanner(System.in); System.out.println('Enter the name of the employee: '); String name = sc.nextLine(); System.out.println('Enter the age of the employee: '); int age = sc.nextInt(); System.out.println(' '); //Calling the parameterized constructor System.out.println('Show() method for the parameterized constructor: '); new Employee(name, age).show(); //Calling the default constructor System.out.println('Show() method for the default constructor: '); new Employee().show(); } } 

תְפוּקָה:

 Enter the name of the employee: David Enter the age of the employee: 27 Show() method for the parameterized constructor: Name of the employee: David Age of the employee: 27 Show() method for the default constructor: Name of the employee: William Age of the employee: 28