Quelle est la différence entre attribut et propriété? [fermé]
cela semble vouloir dire la même chose. Mais quel terme est le plus approprié dans quel contexte?
11 réponses
En général (et en anglais normal d'utilisation) les termes signifient la même chose.
dans le contexte spécifique de HTML / Javascript les Termes se confondent parce que la représentation HTML d'un élément DOM a attributs (qui est le terme utilisé en XML pour les paires clé/valeur contenues dans une étiquette) mais lorsqu'ils sont représentés comme un objet JavaScript ces attributs apparaissent comme objet propriétés .
pour rendre les choses encore plus confuses, les modifications apportées aux propriétés vont typiquement mettre à jour les attributs.
par exemple, changer la element.href
propriété mettra à jour la href
attribut sur l'élément, et cela se reflétera dans un appel à element.getAttribute('href')
.
cependant si vous lire cette propriété, il aura été normalisé à une URL absolue, même bien que attribut pourrait être une URL relative!
ces mots existaient bien avant L'Informatique.
-
attribut est une qualité ou un objet que nous attribuons à quelqu'un ou quelque chose. Par exemple, le sceptre est un attribut du pouvoir et de l'etat.
-
la propriété est une qualité qui existe sans aucune attribution . Par exemple, l'argile a des propriétés adhésives; propriétés des métaux est la conductivité électrique. Les propriétés se manifestent par des phénomènes physiques sans qu'il soit nécessaire de les attribuer à quelqu'un ou quelque chose. De la même façon, dire que quelqu'un a des attributs masculins est évident. En fait, on pourrait dire qu'une propriété appartient à quelqu'un ou à quelque chose.
Pour être juste si, dans l'Informatique, ces deux mots, au moins pour la plupart, peuvent être utilisés de façon interchangeable, mais là encore, les programmeurs ne détiennent généralement pas de diplômes en littérature anglaise et n'écrivent pas ou ne se soucient pas beaucoup des livres de grammaire :).
souvent un attribut est utilisé pour décrire le mécanisme ou la chose réelle.
Un propriété est utilisé pour décrire le modèle.
Par exemple, un document (assis sur votre bureau) peut avoir l'attribut que c'est un projet.
la classe qui modèle les documents a une propriété pour indiquer s'il s'agit ou non d'un brouillon. Dans ce cas, la propriété saisit l'état.
la signification précise de ces termes va dépendre beaucoup de la langue/du système/de l'univers dont vous parlez.
dans HTML/XML, un attribut est la partie d'une balise avec un signe égal et une valeur, et propriété ne signifie rien, par exemple.
nous avons donc besoin de plus d'informations sur le domaine dont vous parlez.
un attribut est la chose réelle que vous utilisez dans votre étiquette HTML comme
<input type="checkbox" checked="checked" />
dans cette instance, type et vérifié sont des attributs. La propriété cependant est la valeur de ces attributs, que le navigateur sauve à l'intérieur de L'élément DOM. Souvent la valeur des attributs et les propriétés sont égaux, ce qui le rend confus.
dans cet exemple, L'élément DOM input
a la propriété type
avec la valeur "checkbox"
et la propriété checked
avec la valeur true
(notez comment cette valeur diffère de la valeur à l'intérieur de L'attribut HTML).
en utilisant Firebug vous pouvez observer le comportement des propriétés en cliquant sur un élément et en sélectionnant le "DOM view".
En Python...
class X( object ):
def __init__( self ):
self.attribute
def getAttr( self ):
return self.attribute
def setAttr( self, value ):
self.attribute= value
property_name= property( getAttr, setAttr )
une propriété est un nom de type attribut simple qui enveloppe une collection de fonctions setter, getter (et deleter).
un attribut est habituellement un objet unique au sein d'un autre objet.
ayant dit que, cependant, Python vous donne des méthodes comme __getattr__
qui vous permettent d'étendre la définition de"attribut".
bref , ils sont presque synonymes. Python fait une distinction technique dans la façon dont ils sont mis en œuvre.
<property attribute="attributeValue">proopertyValue</property>
serait une façon de le regarder.
In C#
[Attribute]
public class Entity
{
private int Property{get; set;};
en Java (ou dans d'autres langues), l'utilisation de propriété/attribut dépend de l'usage:
-
propriété utilisée lorsque la valeur ne change pas très souvent (habituellement utilisée au démarrage ou pour variable d'environnement)
-
Attributes est une valeur (object child) d'un élément (object) qui peut changer très souvent / tout le temps et être ou non persistante
en HTML il semble que les attributs soient spécifiques à L'arbre DOM alors que les propriétés sont utilisées pour décrire les caractéristiques des éléments DOM
Delphi utilisé des propriétés et ils ont trouvé leur chemin dans .NET (parce qu'il a le même architecte).
dans Delphi ils sont souvent utilisés en combinaison avec des informations de type d'exécution de sorte que l'éditeur de propriétés intégré peut être utilisé pour définir la propriété dans designtime.
Les propriétésne sont pas toujours liées aux champs. Ils peuvent être des fonctions qui ont des effets secondaires possibles (mais bien sûr que c'est très mauvaise conception).
Quelle est la différence entre attribut et propriété?
Quelle est la différence entre la fonctionnalité et la fonction?
Quelle est la différence entre la caractéristique et le caractère?
Quelle est la différence entre l'Acte et le Comportement?
c'est juste un changement de contexte.
Objet,Produit, Personnalité, Personne
une personne agit dans un comportement. Une personnalité a les caractéristiques d'un caractère donné. Un Le produit a la caractéristique qui dérivent la fonctionnalité. Un objet a des attributs qui lui donnent des propriétés.