Can someone carefully describe the nuance between "attributes" and "properties"? I find them used interchangeably at times, and as differentiators at others.
            Asked
            
        
        
            Active
            
        
            Viewed 445 times
        
    1 Answers
-1
            
            
        The attribute and property terms are synonyms in most cases (also member, field), although property is often (python, C#, pascal, etc) used to describe the "virtual attribute" which is actually implemented by get/set methods (and attribute is used for regular attributes).
For example (python-like pseudocode):
class MyClass:
    string first_name_attribute;
    string last_name_attribute;
    @property
    def full_name(self):
        """Getter method returns the virtual "full name"."""
        return self.first_name_attribute + " " + self.last_name_attribute
    @full_name.setter
    def full_name(self, string value):
        """Setter method sets the virtual "full name"."""
        first_name, last_name = value.split(" ")
        self.first_name_attribute = first_name
        self.last_name_attribute = last_name
Here we have two "real" attributes - first_name_attribute and last_name_attribute and a "virtual" property - full_name.
 
    
    
        Borys Serebrov
        
- 15,636
- 2
- 38
- 54
