1
resposta

[Dúvida] Diferença entre atributo e propriedade

Olá a todos!

Pessoal, poderiam me confirmar se eu realmente entendi a diferença entre atributo e propriedade?

Os atributos seriam tudo aquilo que "descreve" um elemento, e a propriedade seria tudo aquilo que pode ser modificado em um objeto?

Pensando no mundo real aqui vai um exemplo:

O celular seria a classe. O atributo seria a descrição desse celular que essa descrição teria: o modelo, a marca... Já a propriedade seria: a cor, preço.

É isso ou estou entendendo equívocadamente?

Obrigada!

1 resposta

Lorrayne,

Isso é muito teórico e pode causar confusão mesmo, pois é diferente o conceito dependendo do quem estamos falando, programador ou DBA - administrador de banco de dados?

Por exemplo, no site do José Carlos Macoratti, a propriedade é um subconjunto do atributo.

==========================================================

C# - Apresentando Atributos

Mas afinal o que é um atributo na linguagem C# ?

Os Atributos são um mecanismo para a adição/associação de metadados, tais como instruções do compilador e outros dados sobre seus assemblies, tipos, métodos, propriedades, etc.

Os atributos são inseridos nos metadados e são visíveis através ILDasm e outras ferramentas para leitura de metadados. Após você incluir um atributo em um programa ele poderá ser consultado via Reflection.

...

https://www.macoratti.net/18/04/c_atrib1.htm

==========================================================

Agora compare:

==========================================================

Diferença entre campos, atributos e propriedades?

Publicado 5 anos atrás, em 19/02/2019

Oi, Abel, bom dia.

A diferença é conceitual.

...

https://cursos.alura.com.br/forum/topico-diferenca-entre-campos-atributos-e-propriedades-78582

==========================================================

Propriedade x Atributo

C#

Em C# claramente a propriedade (property) é um membro de uma classe que fornece uma informação sobre o objeto/classe. Na verdade a propriedade em si é um método. Muitas vezes ela acessa o estado que está efetivamente em um campo (field) (algumas vezes chamado também de variável de classe ou de instância), é o que se chama padrão de projeto de métodos acessador/modificador (getter e setter).

Atributo (attribute) não tem nenhuma relação com isto. Ele é usado para marcar ou modificar classes e métodos adicionando informações relevantes que podem ser usados pelo compilador, utilitários ou mesmo a aplicação em tempo de execução.

OUTRA RESPOSTA:

Veja exemplos práticos:

Atributo (attribute)

[System.Serializable]

Campo (field):

string _nomeUsuario;

Propriedade (property):

public string NomeUsuario { get; set; }

https://pt.stackoverflow.com/questions/75265/propriedade-x-atributo

===============================================================

Agora com o Banco de Dados...

===============================================================

Tipos de atributos

Com as entidades, os relacionamentos e os respectivos atributos definidos, passaremos aos refinamentos do nosso diagrama, aplicando as classificações de atributos definidas por diferentes autores.

Tipos de atributos

https://joaofranco.gitbook.io/bd-com-mysql/modelagem-de-dados/modelo-entidade-relacionamento/atributos/tipos-de-atributos

===============================================================

[]'s,

Fabio I.