1.5 Ο constructor (κατασκευαστής) στην Java

Ο constructor (κατασκευαστής) στην Java είναι ένας ειδικός μέθοδος που χρησιμοποιείται για τη δημιουργία αντικειμένων μιας κλάσης. Ο constructor έχει το ίδιο όνομα με την κλάση στην οποία ανήκει και δεν επιστρέφει κάποια τιμή.

Όταν δημιουργούμε ένα νέο αντικείμενο μιας κλάσης με την χρήση της λέξης-κλειδιού “new”, ο constructor καλείται αυτόματα για να αρχικοποιήσει τα γνωρίσματα του αντικειμένου. Μπορούμε να ορίσουμε πολλαπλούς constructors στην ίδια κλάση, με διαφορετικά σύνολα παραμέτρων, για να υποστηρίξουμε διάφορους τρόπους δημιουργίας των αντικειμένων.

Ο constructor μπορεί να περιλαμβάνει κώδικα για την αρχικοποίηση των γνωρισμάτων της κλάσης με συγκεκριμένες τιμές ή να εκτελέσει οποιαδήποτε άλλη απαραίτητη λειτουργία πριν το αντικείμενο είναι έτοιμο για χρήση.

Ο constructor παίζει σημαντικό ρόλο στην αρχικοποίηση των αντικειμένων και στην διασφάλιση ότι έχουν την κατάλληλη κατάσταση για να χρησιμοποιηθούν σωστά.

Η σύνταξη ενός constructor είναι η εξής:

public class MyClass {
  int x;  // Μεταβλητή ιδιότητας

  // Ο constructor
  public MyClass() {
    x = 5;  // Ορίζει την τιμή 5 στη μεταβλητή x
  }

  public static void main(String[] args) {
    MyClass myObj = new MyClass(); // Δημιουργία αντικειμένου
    System.out.println(myObj.x); // Εμφάνιση της τιμής της μεταβλητής x
  }
}

Ο παραπάνω κώδικας δημιουργεί μια κλάση με το όνομα MyClass. Στο εσωτερικό της κλάσης, υπάρχει μια μεταβλητή x τύπου int, η οποία είναι μια μεταβλητή ιδιότητας (instance variable).

Υπάρχει επίσης ένας constructor, ο οποίος είναι μια ειδική μέθοδος που καλείται κατά τη δημιουργία ενός αντικειμένου της κλάσης. Στην περίπτωση αυτή, ο constructor τίθεται να εκχωρήσει την τιμή 5 στη μεταβλητή x.

Στην main μέθοδο, δημιουργείται ένα αντικείμενο της κλάσης MyClass με τη χρήση του constructor. Έπειτα, με τη χρήση της System.out.println(), εμφανίζεται στην οθόνη η τιμή της μεταβλητής x.

Έτσι, ο κώδικας εκχωρεί την τιμή 5 στην x και στη συνέχεια την εμφανίζει στην οθόνη.

Οι constructors μπορούν επίσης να δέχονται παραμέτρους, οι οποίες χρησιμοποιούνται για να αρχικοποιήσουν τα χαρακτηριστικά του αντικειμένου.

Το παρακάτω παράδειγμα προσθέτει μια παράμετρο int y στον constructor. Εντός του constructor ορίζουμε το x ως y (x=y). Όταν καλούμε τον constructor, περνάμε μια παράμετρο στον constructor (5), η οποία θα ορίσει την τιμή του x σε 5:

public class MyClass {
  int x; // Μια μεταβλητή για την αποθήκευση ενός ακέραιου αριθμού

  public MyClass(int y) {
    x = y; // Ανάθεση της τιμής του ορίσματος y στη μεταβλητή x
  }

  public static void main(String[] args) {
    MyClass myObj = new MyClass(5); // Δημιουργία ενός νέου αντικειμένου της κλάσης MyClass με τον αρχικό αριθμό 5
    System.out.println(myObj.x); // Εκτύπωση της τιμής της μεταβλητής x του αντικειμένου myObj
  }
}

Ο παραπάνω κώδικας ορίζει μια κλάση με όνομα MyClass. Η κλάση αυτή περιέχει μια μεταβλητή x τύπου int και τρεις μέθοδους.

Η πρώτη μέθοδος είναι ο κατασκευαστής (constructor) της κλάσης MyClass. Αυτός ο κατασκευαστής παίρνει έναν ακέραιο αριθμό y ως παράμετρο και αναθέτει την τιμή του y στη μεταβλητή x της κλάσης.

[adinserter block=”2″]

Η δεύτερη μέθοδος είναι η main, η οποία είναι η είσοδος στο πρόγραμμα. Μέσα σε αυτήν τη μέθοδο, δημιουργείται ένα αντικείμενο της κλάσης MyClass με τη χρήση του κατασκευαστή και δίνεται η τιμή 5 σαν παράμετρος. Στη συνέχεια, εκτυπώνεται η τιμή της μεταβλητής x του αντικειμένου.

Έτσι, όταν εκτελεστεί ο παραπάνω κώδικας, θα εμφανιστεί ο αριθμός 5 στην έξοδο της κονσόλας.

Μπορείτε να έχετε όσες παραμέτρους θέλετε:

public class MyClass {
  int x; // Μια μεταβλητή για την αποθήκευση ενός ακέραιου αριθμού

  public MyClass(int y, int z) {
    x = y + z; // Ορισμός της τιμής της μεταβλητής x ως το άθροισμα των παραμέτρων y και z
  }

  public static void main(String[] args) {
    MyClass myObj = new MyClass(5, 10); // Δημιουργία αντικειμένου της κλάσης MyClass με τις τιμές 5 και 10 ως παράμετρους
    System.out.println(myObj.x); // Εκτύπωση της τιμής της μεταβλητής x στην οθόνη
  }
}

Ο παραπάνω κώδικας δημιουργεί μια κλάση με το όνομα MyClass. Η κλάση αυτή περιέχει μια μεταβλητή x τύπου int και δύο μεθόδους.

Η μέθοδος MyClass(int y, int z) είναι ένας κατασκευαστής (constructor) που δέχεται δύο ακέραιες παραμέτρους y και z. Ο κατασκευαστής αυτός υπολογίζει το άθροισμα των παραμέτρων y και z και το αποθηκεύει στη μεταβλητή x.

Η μέθοδος main(String[] args) είναι η εισχωρητική σημείωση του προγράμματος και εκτελείται κατά την εκκίνηση του προγράμματος. Στο εσωτερικό της μεθόδου, δημιουργείται ένα αντικείμενο της κλάσης MyClass με τις τιμές 5 και 10 ως παραμέτρους για τον κατασκευαστή. Στη συνέχεια, με τη χρήση της εντολής System.out.println(myObj.x), εμφανίζεται στην οθόνη η τιμή της μεταβλητής x του αντικειμένου myObj.

Συνολικά, ο κώδικας δημιουργεί ένα αντικείμενο της κλάσης MyClass και εμφανίζει την τιμή της μεταβλητής x που υπολογίζεται από το άθροισμα των παραμέτρων κατά τη δημιουργία του αντικειμένου. Στην παρούσα περίπτωση, η τιμή της μεταβλητής x θα είναι 15.

13 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων