Junior
O que são tipos de dados de referência?
sobes.tech IA
Resposta da IA
Os tipos de dados de referência não armazenam o valor em si, mas uma referência (endereço na memória) ao local onde esse valor é guardado. Ao atribuir ou passar esses dados, apenas a referência é copiada, não o objeto completo. As alterações feitas através de uma referência serão visíveis ao acessar através de outras referências que apontam para o mesmo objeto.
Exemplos de tipos de dados de referência em diferentes linguagens:
- Java: Classes (
String,Object, classes personalizadas), interfaces, arrays. - C#: Classes (
string,object, classes personalizadas), interfaces, delegados, arrays. - Python: Todos os tipos de dados (listas, dicionários, tuplas, conjuntos, classes, funções).
# Exemplo em Python
list1 = [1, 2, 3]
list2 = list1 # list2 referencia à mesma lista que list1
list2.append(4)
print(list1) # Saída: [1, 2, 3, 4]
print(list2) # Saída: [1, 2, 3, 4]
A diferença em relação aos tipos de dados de valor é que os tipos de valor armazenam o próprio valor, e ao atribuir ou passar, todo o valor é copiado.
Exemplo de comparação:
| Característica | Tipos de valor | Tipos de referência |
|---|---|---|
| Armazenamento | O próprio valor | Referência ao valor |
| Atribuição/passo | Cópia do valor | Cópia da referência |
| Alteração | Não afeta o original | Altera o original |
| Exemplo (C#) | int, struct, enum |
class, interface, array |