Junior — Middle
Ποια χαρακτηριστικά διακρίνουν τους τύπους δεδομένων αναφοράς από τους πρωταρχικούς σε γλώσσες προγραμματισμού;
sobes.tech AI
Απάντηση από AI
Οι τύποι δεδομένων αναφοράς στις γλώσσες προγραμματισμού (π.χ. αντικείμενα σε Java) διαφέρουν από τους πρωτογενείς τύπους στο ότι:
- Οι τύποι αναφοράς αποθηκεύουν στη μεταβλητή όχι την ίδια την τιμή, αλλά μια αναφορά (δείκτη) στη μνήμη όπου αποθηκεύεται το αντικείμενο.
- Η ανάθεση ενός τύπου αναφοράς αντιγράφει την αναφορά, όχι το αντικείμενο, επομένως πολλές μεταβλητές μπορούν να αναφέρονται στο ίδιο αντικείμενο.
- Οι αλλαγές μέσω μιας αναφοράς αντικατοπτρίζονται σε όλες τις άλλες που αναφέρονται στο ίδιο αντικείμενο.
- Οι πρωτογενείς τύποι (int, boolean, char κ.λπ.) αποθηκεύουν τις τιμές απευθείας στη μεταβλητή.
Για παράδειγμα:
String a = "hello";
String b = a; // το b αναφέρεται στο ίδιο αντικείμενο "hello"
Δεν μπορεί να αλλάξει η συμβολοσειρά, αλλά αν ήταν ένα μεταβλητό αντικείμενο, οι αλλαγές μέσω του b θα ήταν ορατές και μέσω του a.