C'è una differenza tra proprietà e attributo?

0

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.

    
posta Aaron Anodide 04.10.2011 - 23:18
fonte

3 risposte

6

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 .

    
risposta data 04.10.2011 - 23:58
fonte
0

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
    
risposta data 04.10.2011 - 23:58
fonte
-2

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.

    
risposta data 11.12.2015 - 14:13
fonte

Leggi altre domande sui tag