Πρόγραμμα Java για την υλοποίηση ιδιωτικών κατασκευαστών

Σε αυτό το παράδειγμα, θα μάθουμε να εφαρμόζουμε ιδιωτικούς κατασκευαστές στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Κατασκευαστές Java
  • Java Singleton

Παράδειγμα 1: Πρόγραμμα Java για τη δημιουργία ενός ιδιωτικού κατασκευαστή

 class Test ( // create private constructor private Test () ( System.out.println("This is a private constructor."); ) // create a public static method public static void instanceMethod() ( // create an instance of Test class Test obj = new Test(); ) ) class Main ( public static void main(String() args) ( // call the instanceMethod() Test.instanceMethod(); ) )

Παραγωγή

 Αυτός είναι ένας ιδιωτικός κατασκευαστής.

Στο παραπάνω παράδειγμα, έχουμε δημιουργήσει έναν ιδιωτικό κατασκευαστή της Testτάξης. Ως εκ τούτου, δεν μπορούμε να δημιουργήσουμε ένα αντικείμενο της Testτάξης εκτός της τάξης.

Αυτός είναι ο λόγος για τον οποίο δημιουργήσαμε μια public staticμέθοδο που ονομάζεται instanceMethod()μέσα στην κλάση που χρησιμοποιείται για τη δημιουργία ενός αντικειμένου της δοκιμαστικής τάξης. Και από την Mainτάξη, καλούμε τη μέθοδο χρησιμοποιώντας το όνομα της τάξης.

Παράδειγμα 2: Σχεδιασμός Java Singleton χρησιμοποιώντας έναν ιδιωτικό κατασκευαστή

Το σχέδιο σχεδίασης Java Singleton διασφαλίζει ότι θα πρέπει να υπάρχει μόνο μία παρουσία μιας κλάσης. Για να το επιτύχουμε αυτό χρησιμοποιούμε τον ιδιωτικό κατασκευαστή.

 class Language ( // create a public static variable of class type private static Language language; // private constructor private Language() ( System.out.println("Inside Private Constructor"); ) // public static method public static Language getInstance() ( // create object if it's not already created if(language == null) ( language = new Language(); ) // returns the singleton object return language; ) public void display() ( System.out.println("Singleton Pattern is achieved"); ) ) class Main ( public static void main(String() args) ( Language db1; // call the getInstance method db1= Language.getInstance(); db1.display(); ) )

Παραγωγή

 Το μοτίβο Inside Private Constructor Singleton επιτυγχάνεται

Στο παραπάνω παράδειγμα, δημιουργήσαμε μια τάξη με το όνομα Languages. Η τάξη περιέχει,

  • γλώσσα - privateμεταβλητή τύπου κλάσης
  • Γλώσσα () - privateκατασκευαστής
  • getInstance () - public staticμέθοδος τύπου κλάσης
  • οθόνη () - publicμέθοδος

Δεδομένου ότι ο κατασκευαστής είναι private, δεν μπορούμε να δημιουργήσουμε αντικείμενα γλώσσας από την εξωτερική τάξη. Ως εκ τούτου, δημιουργήσαμε ένα αντικείμενο της τάξης μέσα στη getInstance()μέθοδο.

Ωστόσο, έχουμε θέσει την κατάσταση με τέτοιο τρόπο ώστε να δημιουργείται μόνο ένα αντικείμενο. Και, η μέθοδος επιστρέφει το αντικείμενο.

Παρατηρήστε τη γραμμή,

 db1 = Language.getInstance();

Εδώ,

  • Το db1 είναι μια μεταβλητή του τύπου γλώσσας
  • Language.getInstance () - καλεί τη μέθοδοgetInstance()

Δεδομένου ότι, getInstance()επιστρέφει το αντικείμενο της κλάσης Γλώσσας, η μεταβλητή db1 εκχωρείται με το αντικείμενο που επιστρέφεται.

Τέλος, κάναμε τη display()μέθοδο χρησιμοποιώντας το αντικείμενο.

ενδιαφέροντα άρθρα...