java composition what is composition java
Αυτό το σεμινάριο σύνθεσης Java εξηγεί τι είναι η σύνθεση και ο συνδυασμός στην Java και οι διαφορές μεταξύ τους:
Στα τελευταία δύο σεμινάρια, συζητήσαμε λεπτομερώς την κληρονομιά στην Java. Η κληρονομικότητα στην Java είναι ένας τύπος σχέσης 'IS-A' που δείχνει ότι ένα αντικείμενο 'είναι ένα είδος' άλλου αντικειμένου. Για παράδειγμα, ένα αυτοκίνητο είναι ένας τύπος ή είδος οχήματος.
Ο αντικειμενοστραφής προγραμματισμός παρέχει έναν άλλο τύπο σχέσης που ονομάζεται «HAS-A» σχέση. Σε αυτό το σεμινάριο, θα συζητήσουμε λεπτομερώς τη σχέση μεταξύ σχέσεων.
=> Επισκεφθείτε εδώ για να μάθετε Java από το μηδέν.
Τι θα μάθετε:
- Εκμάθηση σύνθεσης Java
- Σύνδεση στην Ιάβα
- Διαφορές μεταξύ συνθέσεως εναντίον της σύνθεσης
- Σύνθεση Vs. Κληρονομία
- συμπέρασμα
Εκμάθηση σύνθεσης Java
Η σχέση «has-a» στην Java ονομάζεται Σύνθεση . Χρησιμοποιώντας τη σχέση 'has-a' ή τη σύνθεση διασφαλίζουμε την επαναχρησιμοποίηση κώδικα στα προγράμματά μας.
Έτσι, κάνοντας τα προγράμματά μας να χρησιμοποιούν τη σχέση «has-a», αυτό που κάνουμε εδώ είναι να κάνουμε το πρόγραμμά μας να χρησιμοποιεί μια παρουσία μιας τάξης απευθείας αντί να την «επεκτείνει» από μια άλλη τάξη όπως κάνουμε σε περίπτωση κληρονομιάς.
Το παρακάτω διάγραμμα απεικονίζει τις σχέσεις «is-a» και ‘has-a’ στην Java.
Όπως φαίνεται από το παραπάνω διάγραμμα, το Car and Vehicle μοιράζεται τη σχέση «IS-A» καθώς το αυτοκίνητο είναι όχημα. Ως εκ τούτου, δημιουργούμε ένα αντικείμενο αυτοκινήτου από το υπάρχον αντικείμενο οχήματος προσθέτοντας περισσότερα χαρακτηριστικά σε αυτό.
Στο διάγραμμα, το Car and Engine μοιράζονται τη σχέση «Has-a». Ένα αυτοκίνητο έχει πάντα έναν κινητήρα. Αυτό που κάνουμε εδώ είναι ότι δεν επεκτείνουμε τις ιδιότητες του αντικειμένου Engine αλλά χρησιμοποιούμε απευθείας το αντικείμενο Engine. Αυτό γίνεται σε Java χρησιμοποιώντας σύνθεση.
Ως εκ τούτου, μαζί με την ενθυλάκωση, την αφαίρεση και τον πολυμορφισμό, η κληρονομιά και η σύνθεση είναι επίσης σημαντικά χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού (OOP).
Οι σχέσεις «has-a» συνήθως καθορίζουν εάν ένα συγκεκριμένο αντικείμενο έχει άλλο αντικείμενο. Αυτό που κάνουμε εδώ είναι να επαναχρησιμοποιήσουμε ένα αντικείμενο και, συνεπώς, να μειώσουμε την αναπαραγωγή κώδικα καθώς και τα λάθη. Αυτό συμβαίνει επειδή χρησιμοποιούμε ένα πλήρως αναπτυγμένο και δοκιμασμένο αντικείμενο στην τάξη μας.
Ας ξεκινήσουμε με τη συζήτηση μιας ειδικής σχέσης που ονομάζεται 'Association' στην Java από την οποία αντλούμε σύνθεση και άλλες σχέσεις.
Σύνδεση στην Ιάβα
Ο συσχετισμός στην Java μπορεί να οριστεί ως μια σχέση που υπάρχει μεταξύ δύο μεμονωμένων τάξεων χρησιμοποιώντας τα ξεχωριστά τους αντικείμενα. Η ένωση στην Java μπορεί να έχει τις ακόλουθες σχέσεις.
- Ενα προς ένα: Ένα αντικείμενο που σχετίζεται με ακριβώς ένα αντικείμενο.
- Ένα προς πολλά: Ένα αντικείμενο μπορεί να συσχετιστεί με πολλά αντικείμενα.
- Πολλά προς ένα: Πολλά αντικείμενα μπορούν να συσχετιστούν με ένα αντικείμενο.
- Πολλά προς πολλά: Περισσότερα από ένα αντικείμενο σχετίζονται με περισσότερα από ένα άλλα αντικείμενα.
Όταν δημιουργείται μια σχέση, τα αντικείμενα που περιέχουν (αντικείμενα που έχουν άλλα αντικείμενα ως μέλη τους) επικοινωνούν με το περιεχόμενο για να επαναχρησιμοποιήσουν τις ιδιότητες και τα χαρακτηριστικά τους. Η ένωση έχει δύο μορφές, δηλαδή Σύνθεση και Συγκέντρωση.
Το παρακάτω σχήμα δείχνει αυτό:
Όπως φαίνεται από το παραπάνω διάγραμμα, η ένωση περιλαμβάνει τη σύνθεση και τη συγκέντρωση. Η σύνθεση είναι ένας πιο συγκεκριμένος όρος και η συγκέντρωση είναι πιο γενική από τη σύνθεση. Αυτές οι μορφές βασίζονται σε τι είδους σχέσεις υποστηρίζουν.
Πριν προχωρήσουμε στη Σύνθεση και τη Συγκέντρωση, ας εφαρμόσουμε ένα πρόγραμμα Java για να δείξουμε το Σύλλογο στην Java.
import java.io.*; // class Account class Account { private String bank_name; private long Account_number; // initialize bank name and account number Account(String bank_name, long Account_number) { this.bank_name = bank_name; this.Account_number = Account_number; } //read bank name public String getBankName() { returnthis.bank_name; } //read account number public long getAccountNumber() { returnthis.Account_number; } } // employee class class Employee { private String emp_name; // initialize employee name Employee(String emp_name) { this.emp_name = emp_name; } //read employee name public String getEmployeeName() { return this.emp_name; } } // Associate both the classes class Main { public static void main (String() args) { Employee emp = new Employee('Andrew'); Account acc = new Account('Citi Bank', 13319); System.out.println(emp.getEmployeeName() + ' has an account with ' + acc.getBankName() + ' with Account Number:' + acc.getAccountNumber()); } }
Παραγωγή:
Το παραπάνω πρόγραμμα δείχνει μια συσχέτιση στην Java. Εδώ, έχουμε έναν Λογαριασμό κλάσης που έχει όνομα τράπεζας και αριθμό λογαριασμού ως ιδιωτικά μέλη. Στη συνέχεια, έχουμε μια τάξη υπαλλήλων. Γνωρίζουμε ότι κάθε υπάλληλος θα έχει έναν αριθμό λογαριασμού για την κατάθεση μισθού κ.λπ.
Επομένως, αυτό που κάνουμε είναι, αντί να γράφουμε άλλη τάξη ή μέθοδο για ανάγνωση στα στοιχεία του τραπεζικού λογαριασμού του Εργαζομένου, επαναχρησιμοποιούμε άμεσα την υπάρχουσα τάξη λογαριασμού. Με άλλα λόγια, συσχετίζουμε ένα αντικείμενο λογαριασμού με τον υπάλληλο, ώστε να λαμβάνουμε τα στοιχεία του τραπεζικού λογαριασμού του υπαλλήλου. Το παραπάνω παράδειγμα το κάνει ακριβώς αυτό.
Σύνθεση σε Java
Η σύνθεση είναι μια μορφή σύνδεσης. Η σύνθεση μπορεί να οριστεί ως ένας συσχετισμός στον οποίο μια κατηγορία περιέχει μια άλλη κλάση και αυτή η περιεχόμενη κλάση εξαρτάται από την κατηγορία που περιέχει με τέτοιο τρόπο ώστε να μην μπορεί να υπάρχει ανεξάρτητα.
Έχουμε δει ένα παράδειγμα μιας σχέσης που έχει-παραπάνω. Σε αυτό, είχαμε ένα αντικείμενο αυτοκινήτου που έχει κινητήρα. Αυτό είναι ένα παράδειγμα σύνθεσης. Σε αυτό, ένας κινητήρας δεν μπορεί να υπάρχει ανεξάρτητα χωρίς αυτοκίνητο.
Η σύνθεση είναι πιο περιορισμένη σε σύγκριση με το Aggregation. Η σύνθεση δεν είναι δυνατότητα Java. Θεωρείται κυρίως τεχνική σχεδιασμού.
Το παρακάτω διάγραμμα δείχνει ένα παράδειγμα σύνθεσης.
υπόστρωμα (0,0)
Σε αυτό, ένας υπάλληλος έχει τραπεζικό λογαριασμό. Γνωρίζουμε ότι δεν μπορεί να υπάρχει τραπεζικός λογαριασμός χωρίς κάτοχο λογαριασμού. Χωρίς κάτοχο λογαριασμού, γίνεται αδρανής.
Μπορούμε να χρησιμοποιήσουμε τη σύνθεση για να μοντελοποιήσουμε αντικείμενα που έχουν άλλα αντικείμενα ως μέλη της και αυτά τα αντικείμενα έχουν σχέση μεταξύ τους μεταξύ τους.
Στη σύνθεση, ένα αντικείμενο περιέχεται σε άλλο αντικείμενο, επομένως όταν το αντικείμενο που περιέχει καταστρέφεται. το άλλο αντικείμενο καταστρέφεται επίσης
Μπορούμε λοιπόν να δούμε τη σχέση σύνθεσης ως μια σχέση «μέρους του συνόλου» στην οποία μέρος δεν υπάρχει χωρίς το ολόκληρος . Ως εκ τούτου, όταν το σύνολο καταστρέφεται, το τμήμα διαγράφεται επίσης. Αυτό σημαίνει ότι το σύνολο έχει μια ισχυρότερη σχέση με το μέρος.
Παράδειγμα σύνθεσης Java
Παρακάτω δίνεται το πρόγραμμα για την επίδειξη της σύνθεσης.
Το σύστημα που χρησιμοποιήσαμε εδώ παρουσιάζεται ως εξής.
Έτσι, σε αυτό το πρόγραμμα, έχουμε τρεις κατηγορίες όπως φαίνεται παραπάνω. Η Honda είναι ένα αυτοκίνητο, οπότε εκτείνεται από την κατηγορία Car. Το CarEngine Object χρησιμοποιείται στην κατηγορία Honda.
Το πρόγραμμα δίνεται παρακάτω.
class CarEngine { public void startEngine(){ System.out.println('Car Engine Started.'); } public void stopEngine(){ System.out.println('Car Engine Stopped.'); } } class Car { private String color; private int max_Speed; public void carDetails(){ System.out.println('Car Color= '+color + '; Max Speed= ' + max_Speed); } //set car color public void setColor(String color) { this.color = color; } //set car max_Speed public void setMaxSpeed(int max_Speed) { this.max_Speed = max_Speed; } } class Honda extends Car{ public void HondaStart(){ CarEngine Honda_Engine = new CarEngine(); //composition Honda_Engine.startEngine(); } } public class Main { public static void main(String() args) { Honda HondaCity = new Honda(); HondaCity.setColor('Silver'); HondaCity.setMaxSpeed(180); HondaCity.carDetails(); HondaCity.HondaStart(); } }
Παραγωγή:
Έτσι, η έξοδος δείχνει τις ιδιότητες των αυτοκινήτων Honda. Δείχνει επίσης την έξοδο μιας μεθόδου από την κλάση CarEngine που έχουμε χρησιμοποιήσει ως μέλος της κλάσης Honda χρησιμοποιώντας σύνθεση.
Αυτό το πρόγραμμα έδειξε πώς μπορούμε να χρησιμοποιήσουμε τη σύνθεση σε ένα πρόγραμμα Java.
Συγκέντρωση στην Ιάβα
Ο συνδυασμός είναι μια άλλη μορφή συσχέτισης στην Java. Αλλά στην περίπτωση της συσσωμάτωσης, επιτρέπει μόνο τη μονόδρομη σχέση μεταξύ των αντικειμένων. Για παράδειγμα, ένας υπάλληλος έχει διεύθυνση κατοικίας. Αντίθετα, η διεύθυνση κατοικίας έχει υπαλλήλους, δεν ακούγεται σωστή.
Ομοίως, ένας μαθητής έχει μια διεύθυνση, αλλά 'η διεύθυνση έχει έναν μαθητή' δεν έχει νόημα. Όπως και η σύνθεση, η συγκέντρωση απεικονίζει επίσης τη σχέση «έχει-α». Αυτό σημαίνει ότι μια κλάση περιέχει ένα αντικείμενο άλλης κλάσης.
Το παρακάτω διάγραμμα αντιπροσωπεύει ένα παράδειγμα Συγκέντρωσης.
Το παραπάνω παράδειγμα μπορεί να ερμηνευτεί καθώς το Κολλέγιο έχει προσωπικό και φοιτητές.
Λοιπόν, πότε ακριβώς πρέπει να πάμε για Συγκέντρωση;
Πρέπει να χρησιμοποιούμε τη συγκέντρωση όταν δεν χρειάζεται να χρησιμοποιούμε μια σχέση «είναι-α» ή κληρονομιά. Εάν μπορούμε να διατηρήσουμε τη σχέση «is-a» σε όλη την εφαρμογή ή τη διάρκεια ζωής ενός αντικειμένου, τότε μπορούμε να εφαρμόσουμε κληρονομιά για επαναχρησιμοποίηση κώδικα.
Διαφορετικά, είναι καλύτερο να χρησιμοποιήσετε τη συνάθροιση για επαναχρησιμοποίηση κώδικα. Ας εφαρμόσουμε τώρα ένα παράδειγμα συγκέντρωσης στην Java.
Το παράδειγμα συστήματος που έχουμε χρησιμοποιήσει έχει ως εξής:
Εδώ έχουμε μια τάξη «Ινστιτούτου». Το Ινστιτούτο μπορεί να έχει διάφορα τμήματα ή υποκαταστήματα. Κάθε υποκατάστημα με τη σειρά του έχει αρκετούς μαθητές. Σε αυτό το πρόγραμμα, θα μετρήσουμε τον συνολικό αριθμό φοιτητών σε ολόκληρο το ινστιτούτο. Χρησιμοποιούμε τη συγκέντρωση για αυτόν τον σκοπό. Το Ινστιτούτο κλάσης περιέχει το αντικείμενο Branch.
Το αντικείμενο κλάδου έχει αντικείμενο μαθητή. Έτσι στην τάξη Ινστιτούτου χρησιμοποιώντας το αντικείμενο Branch υπολογίζουμε τον συνολικό αριθμό μαθητών. Για το σκοπό αυτό, χρησιμοποιούμε μια λίστα καταστημάτων σε ένα ινστιτούτο.
Το πρόγραμμα Java δίνεται παρακάτω.
import java.io.*; import java.util.*; // Class Student class Student { String student_name; int student_id ; String student_dept; //Initialize Student class members Student(String student_name, int student_id, String student_dept) { this.student_name = student_name; this.student_id = student_id; this.student_dept = student_dept; } } //Branch class indiates the branch or department to which the student belongs class Branch { String Branch_name; private List students; //Each branch contain students //Initialize class members Branch(String Branch_name, List students) { this.Branch_name = Branch_name; this.students = students; } //return list of students public List getStudents() { return students; } } //Institure class contains branches which in turn have students class Institute { String instituteName; private List branches; //each institure have various branches //initialize members Institute(String instituteName, List branches) { this.instituteName = instituteName; this.branches = branches; } // count and return number of all students in the institute public int getAllStudentsInInstitute() { int noOfStudents = 0; List students; for(Branch branch : branches) { students = branch.getStudents(); for(Student s : students) { noOfStudents++; } } return noOfStudents; } } //Aggregate all the classes=> Institute (contains) branches (contains) Students class Main { public static void main (String() args) { //declare student objects Student s1 = new Student('Megan', 1, 'CSE'); Student s2 = new Student('Mia', 2, 'CSE'); Student s3 = new Student('John', 1, 'ETC'); Student s4 = new Student('Finn', 2, 'ETC'); // List of CSE Students. List cse_students = new ArrayList(); cse_students.add(s1); cse_students.add(s2); //List of ETC Students List etc_students = new ArrayList(); etc_students.add(s3); etc_students.add(s4); //declare Branch objects Branch CSE = new Branch('CSE', cse_students); Branch ETC = new Branch('ETC', etc_students); //make list of branches List branches = new ArrayList(); branches.add(CSE); branches.add(ETC); // creating an object of Institute. Institute institute = new Institute('NIT', branches); //display total number of students System.out.print('Total students in NIT institute: '); System.out.print(institute.getAllStudentsInInstitute()); } }
Παραγωγή:
Ως εκ τούτου, η συσσωμάτωση και η σύνθεση είναι δύο μορφές συσχέτισης που έχουμε συζητήσει εδώ. Όταν δεν χρειαζόμαστε ή δεν μπορούμε να αντιπροσωπεύσουμε τη σχέση «είναι-α» μεταξύ αντικειμένων, τότε μπορούμε να πάμε για σύνθεση εάν θέλουμε μια ισχυρότερη σχέση μεταξύ αντικειμένων ή συσσωμάτωσης εάν θέλουμε μια μονόδρομη σχέση.
Τόσο η συγκέντρωση όσο και η σύνθεση μας βοηθούν να επαναχρησιμοποιήσουμε τον κώδικα στην Java.
Διαφορές μεταξύ συνθέσεως εναντίον της σύνθεσης
Τόσο η σύνθεση όσο και ο συνδυασμός αποτελούν μέρη του Συλλόγου που απεικονίζει μια σχέση «έχει». Και οι δύο τεχνικές δεν είναι χαρακτηριστικά Java και δεν έχουν άμεσο τρόπο υλοποίησης, αλλά μπορούν να εφαρμοστούν χρησιμοποιώντας κώδικα Java.
Η σύνθεση και ο συνδυασμός μας επιτρέπουν να επαναχρησιμοποιήσουμε τον κωδικό. Η επαναχρησιμοποίηση κώδικα μειώνει τα σφάλματα στον κώδικα και καθιστά την εφαρμογή πιο σταθερή.
Παρακάτω αναφέρονται μερικές διαφορές μεταξύ της Συγκέντρωσης και της Σύνθεσης.
Συσσωμάτωση | Σύνθεση |
---|---|
Ο συνδυασμός επιτρέπει σε παιδικά αντικείμενα ή περιεχόμενα αντικείμενα να υπάρχουν ανεξάρτητα. Για παράδειγμα σε μια σχέση όπου το Σχολείο έχει Υπάλληλους, εάν διαγράψουμε το Σχολείο, οι Εργαζόμενοι θα παραμείνουν και μπορούν να λειτουργούν από μόνα τους. | Στη σύνθεση, το περιεχόμενο που περιέχεται δεν μπορεί να υπάρχει ανεξάρτητα. Για παράδειγμα ένα αυτοκίνητο έχει κινητήρα. Εάν διαγράψουμε το αυτοκίνητο, η κλάση κινητήρα δεν μπορεί να λειτουργήσει από μόνη της. |
Η συσσωμάτωση είναι μια σχέση «έχει». | Η σύνθεση είναι μια μορφή σχέσης «έχει-ένα», αλλά θεωρείται ως σχέση «μέρους-όλου». |
Η συγκέντρωση έχει έναν προς έναν συσχετισμό μόνο. | Η σύνθεση επιτρέπει άλλες σχέσεις που παρέχονται στην ένωση. |
Η συγκέντρωση έχει μια αδύναμη σχέση μεταξύ αντικειμένων. | Η σύνθεση έχει ισχυρή σχέση μεταξύ αντικειμένων. |
Σύνθεση Vs. Κληρονομία
Σύνθεση | Κληρονομία |
---|---|
Η σύνθεση απεικονίζει τη σχέση «Has-A». | Η κληρονομικότητα αντιπροσωπεύει τη σχέση «Is-A». |
Ευκολότερο να αλλάξετε την εφαρμογή των αντικειμένων που περιέχουν. | Όταν μια εφαρμογή αλλάζει ολόκληρη η ιεραρχία της κληρονομιάς αλλάζει. |
Έχει δυναμική ή χρονική δέσμευση. | Έχει στατικό ή μεταγλωττισμένο χρόνο. |
Η διεπαφή κατηγορίας Front-end μπορεί εύκολα να αλλάξει χωρίς να επηρεάζεται η κλάση back-end. | Οποιεσδήποτε αλλαγές στις μεθόδους ή τα πρωτότυπα επηρεάζουν όλες τις τάξεις. |
Η σύνθεση χρησιμοποιείται όταν δεν χρειάζεται να προσθέσουμε περισσότερα χαρακτηριστικά ή χαρακτηριστικά σε ένα υπάρχον αντικείμενο. | Η κληρονομικότητα χρησιμοποιείται όταν πρέπει να προστεθούν περισσότερες δυνατότητες σε κληρονομικές τάξεις. |
Συχνές Ερωτήσεις
Ε # 1) Ποια είναι η διαφορά μεταξύ της σχέσης 'IS - A' και 'HAS - A';
Απάντηση: Στον αντικειμενοστρεφή προγραμματισμό, οι σχέσεις IS-A αντιπροσωπεύουν κληρονομιά στην οποία μια παιδική τάξη »είναι ένα είδος« γονικής τάξης. Η σχέση Has-a είναι μια σχέση «μέρος-α-όλης» που αντιπροσωπεύεται από τη σύνθεση και τη συγκέντρωση. Η κληρονομικότητα είναι μια στατική δέσμευση ενώ η Σύνθεση είναι δυναμική δέσμευση.
πλάτος πρώτο εγκάρσιο c ++
Q # 2) Τι είναι η Συγκέντρωση και η Σύνθεση στην Java;
Απάντηση: Στη Σύνθεση, τα δύο αντικείμενα συνδέονται σφιχτά, δηλαδή όταν το αντικείμενο (Περιεχόμενο αντικείμενο) που κατέχει άλλο αντικείμενο (περιλαμβανόμενο αντικείμενο) καταστραφεί, τότε το άλλο αντικείμενο καταστρέφεται αυτόματα καθώς δεν μπορεί να λειτουργήσει ανεξάρτητα από μόνο του.
Στο σύνολο, το περιεχόμενο που περιέχει και το περιεχόμενο μπορεί να λειτουργήσει ανεξάρτητα. Αυτό συμβαίνει επειδή, στο Aggregation, ένα αντικείμενο χρησιμοποιεί ένα άλλο αντικείμενο.
Q # 3) Γιατί χρησιμοποιούμε τη σύνθεση στο Java;
Απάντηση: Η σύνθεση μας επιτρέπει να επαναχρησιμοποιήσουμε τον υπάρχοντα κώδικα μειώνοντας έτσι την πολυπλοκότητα του κώδικα και επίσης μειώνουμε τα σφάλματα στον κώδικα. Χρησιμοποιώντας τη σύνθεση μπορούμε να επαναχρησιμοποιήσουμε μόνο ό, τι χρειαζόμαστε από το αντικείμενο και επίσης να ελέγξουμε την ορατότητά του.
Q # 4) Ποια είναι η χρήση του Association;
Απάντηση: Η ένωση αντιπροσωπεύει τη σχέση «has-a» στην Java. Η συσχέτιση στην Java χρησιμοποιείται όταν ένα αντικείμενο πρέπει να χρησιμοποιήσει τη λειτουργικότητα και τις υπηρεσίες ενός άλλου αντικειμένου. Η σύνθεση και η συγκέντρωση είναι δύο μορφές συσχέτισης.
Ε # 5) Είναι η σύνθεση καλύτερη από την κληρονομικότητα;
Απάντηση: Εξαρτάται από το σύστημα OOP που κωδικοποιούμε. Εάν μπορούμε να αναπαραστήσουμε τα αντικείμενα με σχέση IS-A καθ 'όλη τη διάρκεια ζωής της στην εφαρμογή, τότε η κληρονομιά είναι μια καλύτερη επιλογή. Όταν θέλουμε να επαναχρησιμοποιήσουμε τον κώδικα και δεν μπορούμε να αντιπροσωπεύσουμε το σύστημα αντικειμένων με τη σχέση IS-A, τότε η σύνθεση είναι καλύτερη.
Επίσης, όταν θέλουμε να αλλάζουμε συχνά τάξεις front-end χωρίς να ενοχλούμε τις τάξεις back-end, τότε η σύνθεση είναι καλύτερη επειδή στην περίπτωση κληρονομιάς οι μικρές αλλαγές επηρεάζουν κυρίως ολόκληρη την ιεραρχία κληρονομιάς.
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε συζητήσει τη σχέση HAS-A στην Java. Η σύνθεση και η συγκέντρωση είναι οι μορφές που εφαρμόζουν τη σχέση «HAS-A». Συγκρίναμε και τις δύο αυτές υλοποιήσεις.
Ενώ και οι δύο περιέχουν αντικείμενα άλλης κλάσης, η σύνθεση κατέχει το αντικείμενο ενώ η συγκέντρωση χρησιμοποιεί απλά το αντικείμενο. Συγκρίναμε επίσης τη σύνθεση και την κληρονομιά στην Java.
=> Δείτε εδώ για να δείτε A-Z Of Java Training Tutorials.
Συνιστώμενη ανάγνωση
- Εκμάθηση Java SWING: Container, Components and Event Handling
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- TreeMap In Java - Tutorial with Java TreeMap Παραδείγματα
- Java Float Tutorial με παραδείγματα προγραμματισμού
- Java String με String Buffer και String Builder Tutorial
- Ανάπτυξη Java: Δημιουργία και εκτέλεση αρχείου Java JAR
- Αντικείμενο Java Class Vs - Πώς να χρησιμοποιήσετε την κλάση και το αντικείμενο στην Java
- Βασικά Java: Java Syntax, Java Class και Core Java Concepts