Sobes.tech
Junior — Middle

Ποια χαρακτηριστικά διακρίνουν τους τύπους δεδομένων αναφοράς από τους πρωταρχικούς σε γλώσσες προγραμματισμού;

sobes.tech AI

Απάντηση από AI

Οι τύποι δεδομένων αναφοράς στις γλώσσες προγραμματισμού (π.χ. αντικείμενα σε Java) διαφέρουν από τους πρωτογενείς τύπους στο ότι:

  • Οι τύποι αναφοράς αποθηκεύουν στη μεταβλητή όχι την ίδια την τιμή, αλλά μια αναφορά (δείκτη) στη μνήμη όπου αποθηκεύεται το αντικείμενο.
  • Η ανάθεση ενός τύπου αναφοράς αντιγράφει την αναφορά, όχι το αντικείμενο, επομένως πολλές μεταβλητές μπορούν να αναφέρονται στο ίδιο αντικείμενο.
  • Οι αλλαγές μέσω μιας αναφοράς αντικατοπτρίζονται σε όλες τις άλλες που αναφέρονται στο ίδιο αντικείμενο.
  • Οι πρωτογενείς τύποι (int, boolean, char κ.λπ.) αποθηκεύουν τις τιμές απευθείας στη μεταβλητή.

Για παράδειγμα:

String a = "hello";
String b = a; // το b αναφέρεται στο ίδιο αντικείμενο "hello"

Δεν μπορεί να αλλάξει η συμβολοσειρά, αλλά αν ήταν ένα μεταβλητό αντικείμενο, οι αλλαγές μέσω του b θα ήταν ορατές και μέσω του a.