Η Java υποστηρίζει πολλαπλή κληρονομικότητα Γιατί ή γιατί όχι;
Η Java υποστηρίζει πολλαπλή κληρονομικότητα Γιατί ή γιατί όχι;

Βίντεο: Η Java υποστηρίζει πολλαπλή κληρονομικότητα Γιατί ή γιατί όχι;

Βίντεο: Η Java υποστηρίζει πολλαπλή κληρονομικότητα Γιατί ή γιατί όχι;
Βίντεο: JAVA - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ - Μέρος 2 από 7: Βασικές Διαφορές με C/C++ 2024, Νοέμβριος
Anonim

Η java δεν υποστηρίζει πολλαπλές κληρονομιές μέσω κλάσεων αλλά μέσω των διεπαφών, μπορούμε να χρησιμοποιήσουμε πολλαπλές κληρονομιές . Χωρίς java δεν κάνει υποστήριξη πολλαπλής κληρονομιάς απευθείας επειδή οδηγεί σε παράκαμψη μεθόδων όταν και οι δύο εκτεταμένες κλάσεις έχουν το ίδιο όνομα μεθόδου.

Κατά συνέπεια, επιτρέπεται η πολλαπλή κληρονομικότητα στην Java;

Υποστηρίζει C++, Common lisp και λίγες άλλες γλώσσες πολλαπλή κληρονομιά ενώ Ιάβα δεν το υποστηρίζει. Ιάβα δεν κάνει επιτρέπουν πολλαπλή κληρονομιά για να αποφευχθεί η ασάφεια που προκαλείται από αυτό. Ένα από τα παραδείγματα τέτοιου προβλήματος είναι το πρόβλημα με τα διαμάντια που εμφανίζεται στο πολλαπλή κληρονομιά.

Γνωρίστε επίσης γιατί η πολλαπλή κληρονομιά είναι κακή; Ο κίνδυνος με πολλαπλή κληρονομιά είναι πολυπλοκότητα. Αφού μπορεί να επηρεάσεις πολλαπλούς λειτουργικές μονάδες στην εφαρμογή σας από τις ίδιες γονικές κατηγορίες, δεν είναι τόσο εύκολο να αιτιολογήσετε τις αλλαγές κώδικα. Οποιοδήποτε λάθος θα μπορούσε να προκαλέσει μια αλυσιδωτή αντίδραση σφαλμάτων. Εδώ είναι που πολλαπλή κληρονομιά μπορεί να γίνει παραγωγικός.

Επίσης, γνωρίζετε ποια κληρονομιά δεν υποστηρίζεται από την Java Γιατί;

Στη java αυτό δεν μπορεί ποτέ να συμβεί καθώς δεν υπάρχει πολλαπλή κληρονομιά . Εδώ, ακόμα κι αν δύο διεπαφές πρόκειται να έχουν την ίδια μέθοδο, η κλάση υλοποίησης θα έχει μόνο μία μέθοδο και αυτή θα γίνει επίσης από τον υλοποιητή. Η δυναμική φόρτωση των κλάσεων κάνει την υλοποίηση του πολλαπλή κληρονομιά δύσκολος.

Γιατί χρησιμοποιείται η πολλαπλή κληρονομικότητα στη διεπαφή;

Όπως έχουμε εξηγήσει στο κληρονομία κεφάλαιο, πολλαπλή κληρονομιά δεν είναι υποστηρίζεται στην περίπτωση της τάξης λόγω ασάφειας. Ωστόσο, είναι υποστηρίζεται σε περίπτωση ενός διεπαφή γιατί δεν υπάρχει αμφισημία. Είναι επειδή η εφαρμογή του παρέχεται από την κλάση υλοποίησης. διεπαφή Δυνατότητα εμφάνισης{

Συνιστάται: