Ils semblent vouloir dire la même chose. Mais quel terme est le plus approprié dans quel contexte ?
Cela devrait être la réponse acceptée !
Ils semblent vouloir dire la même chose. Mais quel terme est le plus approprié dans quel contexte ?
En général (et dans l'usage normal de l'anglais), 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 (c'est le terme utilisé dans le XML pour les paires clé/valeur contenues dans une balise) mais lorsqu'ils sont représentés sous forme d'objet JavaScript, ces attributs apparaissent comme des objets propriétés .
Pour rendre les choses encore plus confuses, les modifications apportées aux propriétés mettent généralement à jour les attributs.
Par exemple, la modification de la element.href
propriété mettra à jour le href
attribut sur l'élément, et cela sera reflété dans un appel à element.getAttribute('href')
.
Toutefois, si par la suite vous lire cette propriété, elle aura été normalisée à une URL absolue, même si le attribut pourrait être une URL relative !
@RubensMariuzzo, aussi précis que cela puisse être, il n'y a pas de réponse ici il s'agit juste d'élaborer sur un point de confusion possible pour les gens, étant donné un contexte.
@BrettCaswell, je pense que dans un contexte DOM (HTML/JS) cette réponse explique la différence clairement et simplement pour moi.
Ces mots existaient bien avant l'apparition de l'informatique.
Un attribut est une qualité ou un objet qui nous attribuons à quelqu'un ou à quelque chose. Par exemple, le sceptre est un attribut du pouvoir et du statut d'État.
La propriété est une qualité qui existe sans aucune attribution . Par exemple, l'argile a des qualités adhésives ; c'est-à-dire qu'une des propriétés de l'argile est sa qualité adhésive. Autre exemple : l'une des 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 même, dire que quelqu'un a des attributs masculins est une évidence. En fait, on pourrait dire qu'une propriété appartient à quelqu'un ou à quelque chose.
Pour être juste, en informatique, ces deux mots, du moins pour la plupart, peuvent être utilisés de manière interchangeable - mais là encore, les programmeurs ne sont généralement pas diplômés en littérature anglaise et n'écrivent pas ou ne se soucient pas beaucoup des livres de grammaire :).
Vous êtes plus proche du sens tel que je le comprends. Un attribut est un descripteur de type, il décrit l'objet à quelque chose hors-contexte (comme un interprète) c'est-à-dire qu'il y a un contexte, mais ce contexte peut très bien être interchangeable. Pour utiliser le HTML par exemple, l'objectif entier de la largeur n'a aucune fonction si vous analysez le document sans avoir l'intention de l'afficher/le rendre sur une page.
Merci. Je suis venu ici à la recherche de conseils pour savoir quand utiliser tel ou tel terme pour nommer. Je ne me soucie même pas (beaucoup) de savoir si c'est techniquement correct ou non, c'est une distinction vraiment utile.
C'est le type de réponse que je cherchais aussi. Pourquoi le contexte ou ce qu'un implémenteur de langage particulier a décidé importe-t-il ? Ils peuvent avoir pris une décision arbitraire ou non éduquée. Je veux prendre une décision éclairée et cela me donne des raisons concrètes de choisir l'un plutôt que l'autre. Cela peut également clarifier les raisons pour lesquelles un implémenteur particulier a fait son choix.
Souvent, un attribut est utilisé pour décrire le mécanisme ou la chose du monde réel.
A propriété est utilisé pour décrire le modèle.
Par exemple, un document (posé sur votre bureau) peut avoir pour attribut qu'il s'agit d'un brouillon.
La classe qui modélise les documents a une propriété qui indique s'il s'agit d'un brouillon ou non. Dans ce cas, la propriété capture l'état.
La signification précise de ces termes va dépendre en grande partie de la langue/du système/l'univers dont vous parlez.
En HTML/XML, un attribut est la partie d'une balise avec un signe égal et une valeur, et la propriété ne signifie rien, par exemple.
Nous avons donc besoin de plus d'informations sur le domaine dont vous parlez.
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 unique de type attribut qui englobe un ensemble de fonctions setter, getter (et deleter).
Un attribut est généralement un objet unique dans un autre objet.
Cela dit, Python vous offre des méthodes telles que __getattr__
qui permettent d'étendre la définition d'un "attribut".
En résumé, ils sont presque synonymes. Python fait une distinction technique dans la façon dont ils sont implémentés.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
4 votes
Pouvez-vous être plus précis sur le contexte ? Par exemple, les termes ont une signification complètement différente dans un contexte C#.
1 votes
@David Arno - les syntaxes des différentes langues se sont appropriées un ou les deux mots mais indépendamment de la syntaxe d'une langue particulière, y a-t-il une différence de sens ? Ce n'est pas une mauvaise question.
4 votes
Je pense que c'est une mauvaise question. Une vérification dans un thésaurus montrera qu'ils sont synonymes en termes de langage réel, mais différents langages informatiques et méta-langages peuvent leur attribuer des rôles tout à fait différents et donc ils peuvent ne pas être synonymes pour un langage informatique particulier. Le contexte est donc essentiel.
11 votes
Je suis plus.... sympathique. Je me souviens de la première fois où j'ai entendu le terme "méthode". Mais qu'est-ce qu'une "méthode" ? Oh, c'est ce qu'on appelle une fonction quand elle appartient à une classe. Pourquoi une nouvelle terminologie pour quelque chose d'ancien ? Thoreau a dit, "méfiez-vous de toutes les entreprises qui nécessitent de nouveaux vêtements". (ou des mots...)
1 votes
Oui, cela dépend totalement du contexte, mais c'est une excellente question ! En termes mathématiques, une fonction renvoie une valeur ("pour un X donné, il ne peut y avoir qu'un seul Y", etc.). Une méthode se contente de "faire quelque chose". En XML (par exemple), un attribut a une fonction
name
et unevalue
propriété. Les propriétés sont généralement abstraites, tandis que les attributs sont généralement concrets (pensez classe/objet). Les êtres humains ont des propriétés :hasHair
ethairColor
. "Jean" a des attributs :hasHair="true"
ethairColor="purple"
(John est un Twisted Sister fan).1 votes
Cette question est trop large sans fournir de contexte (telle qu'elle est rédigée, on ne peut vraiment y répondre qu'avec une liste de tous les contextes possibles).
0 votes
J'ai regardé ici avec la même question. Je fais un système où je jongle avec ce qu'il faut appeler une "Typed[xx]Map", c'est-à-dire TypedPropertyMap ou TypedAttributeMap comme conteneur pour les champs dynamiques - il semble que cela n'ait pas d'importance - Peut-être TypedObjectMap comme classe de base parce que dans un ordinateur, ce ne sont que des chaînes de bits :)
0 votes
Je ne peux pas en dire plus, mais une propriété est quelque chose que vous avez. C'est tangible, un attribut est quelque chose qui est. Vous mesurez 1m80 propriété. Tu es grand Attribut. Vous avez des yeux propriétés, vos yeux sont verts Attributs. Vos yeux peuvent avoir certaines propriétés qui les rendent rouges. Tu as la propriété d'avoir un pantalon. Tu peux courir vite Attribut. Les roses sentent bon Attribut. Le pollen ou ce qui lui donne cette odeur sont des propriétés. Ces propriétés donnent lieu à ces attributs. à cause de mes longues jambes (propriété), je cours vite (attribut). <personne> <yeux couleur="rouge" /> </personne>
0 votes
Nous utilisons le terme "propriété" dans un sens générique et ordinaire, comme synonyme de "caractéristique". Si plusieurs valeurs sont possibles, la propriété est appelée attribut, "dimension" ou "variable".