Queste due parole sono completamente sinonimi per me, ma mi chiedo se ci sia effettivamente una differenza semantica utile che posso incorporare in convenzioni / processi di codifica / denominazione.
Queste due parole sono completamente sinonimi per me, ma mi chiedo se ci sia effettivamente una differenza semantica utile che posso incorporare in convenzioni / processi di codifica / denominazione.
Le parole inglesi hanno significati sovrapposti ma implicazioni leggermente diverse. Proprietà implica qualcosa posseduto da qualcos'altro. L'attributo suggerisce qualcosa che è una caratteristica intrinseca.
Tuttavia, poiché i loro significati si sovrappongono quasi completamente, è possibile sostituirne uno per l'altro. L'eccezione sarebbe dove i termini sono in gergo, per esempio in C # dove proprietà e attributo hanno significati diversi, molto più specifici. In HTML, c'è qualcosa chiamato specificamente attributo tag e chiamarlo proprietà sarebbe fonte di confusione.
Se stai inventando un nuovo gergo per un contesto specifico, direi di preferire quello che suona più naturale. Se è qualcosa di discreto che contiene qualcos'altro, generalmente preferisco property . Se è qualcosa che è una caratteristica intrinseca inseparabile di qualcos'altro (e specialmente se è qualcosa che può avere anche altre cose), generalmente preferirei attributo .
La definizione di Proprietà e Attributi è sensibile al contesto in base al linguaggio / markup di programmazione che stai utilizzando.
Nei linguaggi di markup standard (XML, HTML, SVG, ecc.) un attributo è ben definito
<xml version="1.0"> <!-- The attribute here is version -->
In altri linguaggi di programmazione un Attributo è un oggetto in cui una proprietà è un valore memorizzato
public Attribute FirstName { get; set; } // C# Property which stores and returns an Attribute object :-D
Attributi rappresenta lo stato dell'oggetto.
Proprietà sono usate come sinonimi come attributi, ma dipende dalla lingua. Proprietà sono getter e / o setter che vengono invocati mentre lo leggiamo o lo assegniamo.
Con le proprietà, possiamo aggiungere il codice di gestione degli errori per impedire che l'oggetto si trovi in stato non sicuro . Ma non possiamo fare lo stesso con gli attributi che servono solo a memorizzare un valore.
es:
her.age = -10;
// shes è in uno stato non sicuro poiché l'età non può essere negativa
ma se her.age è una proprietà, può controllare prima di assegnare nuova età all'attributo, cioè privato.
if(newAge >= 18)
{ *// then do someThing..* }
else
{
*// throw some exception*
}
// qui newAge è arg sulla proprietà age
Le proprietà eseguono solo un codice di gestione degli errori.
Puoi anche aggiungere un codice personalizzato.
Leggi altre domande sui tag documentation terminology