Διαφορά μεταξύ κλάσης και αντικειμένου στα OOP
Βασικές διαφορές μεταξύ κλάσης και αντικειμένου
- Μια κλάση είναι ένα πρότυπο για τη δημιουργία αντικειμένων σε ένα πρόγραμμα, ενώ το αντικείμενο είναι μια παρουσία μιας κλάσης.
- Μια κλάση είναι μια λογική οντότητα, ενώ ένα αντικείμενο είναι μια φυσική οντότητα.
- Μια κλάση δεν εκχωρεί χώρο στη μνήμη. Από την άλλη πλευρά, ένα αντικείμενο εκχωρεί χώρο στη μνήμη.
- Μπορείτε να δηλώσετε μια κλάση μόνο μία φορά, αλλά μπορείτε να δημιουργήσετε περισσότερα από ένα αντικείμενα χρησιμοποιώντας μια κλάση.
- Οι κλάσεις δεν μπορούν να χειριστούν, ενώ τα αντικείμενα μπορούν να χειριστούν.
- Οι κλάσεις δεν έχουν τιμές, ενώ τα αντικείμενα έχουν τις δικές τους τιμές.
- Μπορείτε να δημιουργήσετε μια τάξη χρησιμοποιώντας τη λέξη-κλειδί "class", ενώ το χέρι μπορείτε να δημιουργήσετε ένα αντικείμενο χρησιμοποιώντας τη λέξη-κλειδί "νέα" στο Java.

Τι είναι Class;
Μια κλάση είναι μια οντότητα που καθορίζει πώς θα συμπεριφέρεται ένα αντικείμενο και τι θα περιέχει το αντικείμενο. Με άλλα λόγια, είναι ένα σχέδιο ή ένα σύνολο εντολών για την κατασκευή ενός συγκεκριμένου τύπου αντικειμένου. Παρέχει αρχικές τιμές για μεταβλητές μέλους και συναρτήσεις ή μεθόδους μέλους.
Τι είναι το Αντικείμενο;
Ένα αντικείμενο δεν είναι παρά ένα αυτοτελές στοιχείο που αποτελείται από μεθόδους και ιδιότητες για να κάνει τα δεδομένα χρήσιμα. Σας βοηθά να προσδιορίσετε τη συμπεριφορά της τάξης.
Για παράδειγμα, όταν στέλνετε ένα μήνυμα σε ένα αντικείμενο, ζητάτε από το αντικείμενο να καλέσει ή να εκτελέσει μία από τις μεθόδους του.
Από προγραμματιστική άποψη, ένα αντικείμενο μπορεί να είναι μια δομή δεδομένων, μια μεταβλητή ή μια συνάρτηση που έχει εκχωρημένη θέση μνήμης. Το αντικείμενο έχει σχεδιαστεί ως ιεραρχίες κλάσεων.
Τάξη εναντίον Αντικειμένου – Διαφορά μεταξύ τους
Εδώ είναι η σημαντική διαφορά μεταξύ κλάσης και αντικειμένου:
Τάξη | αντικείμενο |
---|---|
Μια κλάση είναι ένα πρότυπο για τη δημιουργία αντικειμένων στο πρόγραμμα. | Το αντικείμενο είναι ένα παράδειγμα μιας κλάσης. |
Μια κλάση είναι μια λογική οντότητα | Το αντικείμενο είναι μια φυσική οντότητα |
Μια κλάση δεν εκχωρεί χώρο στη μνήμη όταν δημιουργείται. | Το αντικείμενο εκχωρεί χώρο στη μνήμη κάθε φορά που δημιουργούνται. |
Μπορείτε να δηλώσετε τάξη μόνο μία φορά. | Μπορείτε να δημιουργήσετε περισσότερα από ένα αντικείμενα χρησιμοποιώντας μια κλάση. |
Παράδειγμα: Αυτοκίνητο. | Παράδειγμα: Jaguar, BMW, Tesla, κ.λπ. |
Η τάξη δημιουργεί αντικείμενα | Τα αντικείμενα δίνουν ζωή στην τάξη. |
Δεν είναι δυνατή η χειραγώγηση των τάξεων, καθώς δεν είναι διαθέσιμες στη μνήμη. | Μπορούν να χειραγωγηθούν. |
Δεν έχει τιμές που να σχετίζονται με τα πεδία. | Κάθε αντικείμενο έχει τις δικές του τιμές, οι οποίες σχετίζονται με τα πεδία. |
Μπορείτε να δημιουργήσετε τάξη χρησιμοποιώντας τη λέξη-κλειδί "class". | Μπορείτε να δημιουργήσετε αντικείμενο χρησιμοποιώντας "νέα" λέξη-κλειδί στο Java |
Κατανοήστε την έννοια του Java Κλάσεις και αντικείμενα με ένα παράδειγμα.
Ας πάρουμε ένα παράδειγμα ανάπτυξης ενός συστήματος διαχείρισης κατοικίδιων ζώων, ειδικά σχεδιασμένου για σκύλους. Θα χρειαστείτε διάφορες πληροφορίες για τα σκυλιά, όπως διαφορετικές ράτσες σκύλων, ηλικία, μέγεθος κ.λπ.
Πρέπει να μοντελοποιήσετε όντα της πραγματικής ζωής, π.χ. σκύλους σε οντότητες λογισμικού.
Επιπλέον, το ερώτημα εκατομμυρίων δολαρίων είναι πώς σχεδιάζετε τέτοιο λογισμικό; Εδώ είναι η λύση -
Αρχικά, ας κάνουμε μια άσκηση.
Μπορείτε να δείτε την εικόνα τριών διαφορετικών φυλών σκύλων παρακάτω.
Σταματήστε εδώ τώρα! Καταγράψτε τις διαφορές μεταξύ τους.
Μερικές από τις διαφορές που ίσως έχετε αναφέρει είναι η φυλή, η ηλικία, το μέγεθος, το χρώμα, κ.λπ. Αν σκεφτείτε για λίγο, αυτές οι διαφορές είναι επίσης μερικά κοινά χαρακτηριστικά που μοιράζονται αυτά τα σκυλιά. Αυτά τα χαρακτηριστικά (φυλή, ηλικία, μέγεθος, χρώμα) μπορούν να αποτελέσουν μέλη δεδομένων για το αντικείμενό σας.
Στη συνέχεια, απαριθμήστε τις συνήθεις συμπεριφορές αυτών των σκύλων όπως ύπνος, κάθισμα, φαγητό κ.λπ. Έτσι, αυτές θα είναι οι ενέργειες των αντικειμένων λογισμικού μας.
Μέχρι στιγμής έχουμε ορίσει τα ακόλουθα πράγματα,
- Τάξη: Σκύλοι
- Μέλη δεδομένων or αντικειμένων: μέγεθος, ηλικία, χρώμα, φυλή κ.λπ.
- Μέθοδοι: τρώτε, κοιμάστε, καθίστε και τρέξτε.
Τώρα, για διαφορετικές τιμές των μελών δεδομένων (μέγεθος φυλής, ηλικία και χρώμα) στο Java τάξη, θα λάβετε διαφορετικά αντικείμενα σκύλου.
Μπορείτε να σχεδιάσετε οποιοδήποτε πρόγραμμα χρησιμοποιώντας αυτήν την προσέγγιση OOPs.
Κλάσεις και αντικείμενα σε Java
Στο παρακάτω πρόγραμμα, έχουμε δηλώσει μια τάξη που ονομάζεται Dog. Έχουμε ορίσει ένα αντικείμενο της κλάσης που ονομάζεται "maltese" χρησιμοποιώντας μια νέα λέξη-κλειδί. Στην τελευταία πρόταση System.out.println(maltese.getInfo()); Εμφανίζουμε πληροφορίες για σκύλους όπως φυλή, μέγεθος, ηλικία, χρώμα κ.λπ.
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
Παραγωγή:
Η φυλή είναι: Μαλτέζος Το μέγεθος είναι: Μικρή ηλικία είναι: 2 χρώμα είναι: λευκό
Τύποι Τάξης
Ακολουθούν οι σημαντικοί τύποι κλάσεων:
Παράγωγες τάξεις και κληρονομικότητα
Μια παράγωγη κλάση είναι μια κλάση που δημιουργείται ή προέρχεται από άλλη κλάση υπενθύμισης. Χρησιμοποιείται για την αύξηση της λειτουργικότητας της βασικής κλάσης. Αυτός ο τύπος κλάσης προέρχεται και κληρονομεί ιδιότητες από υπάρχουσα κλάση. Μπορεί επίσης να προσθέσει ή να μοιραστεί/επεκτείνει τις δικές του ιδιότητες.
Υπερτάξεις:
Μια υπερκλάση είναι μια κλάση από την οποία μπορείτε να εξαγάγετε πολλές υποκλάσεις.
Υποκατηγορίες:
Μια υποκλάση είναι μια κλάση που προέρχεται από την υπερκλάση.
Μικτές τάξεις
Μια μικτή κλάση είναι μια ακόμη λειτουργικότητα που σας βοηθά να κληρονομήσετε τις ιδιότητες μιας κλάσης σε μια άλλη. Χρησιμοποιεί ένα υποσύνολο της λειτουργικότητας της κλάσης, ενώ μια κλάση παράγωγης χρησιμοποιεί το πλήρες σύνολο της λειτουργικότητας υπερκλάσης.
Χρήσεις της Τάξης
Εδώ είναι οι σημαντικές χρήσεις της τάξης:
- Η κλάση χρησιμοποιείται για τη διατήρηση μεταβλητών δεδομένων και συναρτήσεων μέλους.
- Σας δίνει τη δυνατότητα να δημιουργήσετε αντικείμενα ορισμού χρήστη.
- Η τάξη παρέχει έναν τρόπο οργάνωσης πληροφοριών σχετικά με δεδομένα.
- Μπορείτε να χρησιμοποιήσετε την κλάση για να κληρονομήσετε την ιδιότητα άλλης κλάσης.
- Οι κλάσεις μπορούν να χρησιμοποιηθούν για να επωφεληθούν από τον κατασκευαστή ή τον καταστροφέα.
- Μπορεί να χρησιμοποιηθεί για μεγάλο όγκο δεδομένων και πολύπλοκες εφαρμογές.
Χρήση Αντικειμένου
Εδώ είναι οι σημαντικές χρήσεις ενός αντικειμένου
- Σας βοηθά να γνωρίζετε τον τύπο του μηνύματος που γίνεται αποδεκτό και τον τύπο των απαντήσεων που επιστρέφονται.
- Μπορείτε να χρησιμοποιήσετε ένα αντικείμενο για να αποκτήσετε πρόσβαση σε ένα κομμάτι μνήμης χρησιμοποιώντας μια μεταβλητή αναφοράς αντικειμένου.
- Χρησιμοποιείται για τον χειρισμό δεδομένων.
- Τα αντικείμενα αντιπροσωπεύουν ένα πραγματικό πρόβλημα για το οποίο βρίσκετε μια λύση.
- Επιτρέπει στα μέλη δεδομένων και στις λειτουργίες μελών να εκτελέσουν την επιθυμητή εργασία.