是Attribute,还是Property?

Property和Attribute的区别 Property属于面向对象理论范畴。在使用面向对象思想编程的时候常常需要对客观事物进行抽象,再把抽象出来的结果封装成类,类中用来表示对象状态的成员就是property。Attribute则是编程语言文法层面的东西,比如有两个同类的语法元素A和B,为了区分A和B,就需要加一些Attribute,attribute可以翻译为特征。在标签语言中进行面向对象编程时,property也被包装成为attrib 阅读详情

是Attribute,还是Property?有时是个麻烦。

 

Attribute和Property都可以翻译成“属性”,有的地方用Attribute表示“属性”,有的地方又在用Property,初学者常常在这两个单词间“迷失”,甚至认为二者没有区别,是一样的。可是Attribute不等于Property。二者之间到底有何区别?

 

我们从OOA/OOD(Object Oriented Analysis / Object Oriented Design,面向对象分析与设计)说起。在OOA/OOD中的使用Attribute表示属性,指对象(Object)的特征(Feature)。我们在一些编程语言(如C#、Delhpi等)中遇到的“属性”一词,为何是Property,而不是Attribute呢?

 

为了理解这一点,我们把C++拽进来看看。OOA/OOD中的Attribute在C++中称为Member Variable(成员变量),慢慢开始明白了吧。C++中的Member Variable在C#中可以继续延用,但有了一个新的称呼:Field(字段)。看一个简单的C#示例:

public class Student {        // Student类

    private string name;       // C#中称为Field(字段),C++中称为Member Variable(成员变量),OOA/OOD中称为Attribute(属性)

}

 

我们整理出下表,可以看到同样的概念在OOA/OOD、C++和C#中的不同称呼:

Description

OOA/OOD

C++

.NET(C#) /Delphi

Feature

Attribute

Member Variable

Field

 

OOA/OOD中的方法(Method)是指对象的操作(Operation)。在C++中称为Member Function(成员函数),而在C#中还是叫做Method。在表中加入对方法(Method)的称呼:

Description

OOA/OOD

C++

.NET(C#) /Delphi

Feature

Attribute

Member Variable

Field

Operation

Method

Member Function

Method

 

也可以看出,C++中将Attribute称为Member Variable,将Method称为Member Function,其实还是很贴切的。从本质上说,确实是在声明变量、定义函数。后来者(C#等)可能觉得这样的称呼不够OO(Object Oriented,面向对象),于是做了些改变。Method延用OOA/OOD的称呼不用说,但将Attribute称作Field,总觉得欠妥。因为DB(Database,数据库)中有Field的概念,也译作“字段”,实在是容易混淆。

 

现在我们可以把OOA/OOD中提到的属性(Attribute)同C#中提到的属性(Property)区分开来。继续上面的示例:

public class Student {        // Student类

    private string name;       // C#中称为Field(字段),C++中称为Member Variable(成员变量),OOA/OOD中称为Attribute(属性)

    public string Name {      // C#中称为Property(属性)

        get {

            return name;

        }

        set {

            name = value;

        }

    }

}

 

我们顺便看看private和public:Property本质上是一对get/set方法,可以进行访问控制,因而可以设置为public;而按照OOA/OOD原则,Attribute不能设为public,而要设为private。

 

C#中确实也有Attribute,把它译作“特性”似乎更好些。如:

[WebMethod]

在不少的.NET/C#书籍中看到有把Attribute译成“属性”的,这样一来,老鸟倒是可以通过语境判断出来不是在说Property,初学者恐怕一下子就跌进云里雾里了。虽然不至于“一个馒头引发的血案”,但“两个属性引发的歧异”,终究不是什么好事情。

 

另外,在Web编程中也常见到Attribute和Property混用的情况。比如用VS 2003或2005创建一个ASP.NET应用程序,如果在代码视图添加控件:

<asp:TextBox id=”txtName” text=”Hello” runat=”server” />

此时TextBox控件中的id、text和runat都称为Attribute,这是延用了HTML中对属性(Attribute)的称呼。

 

如果是在设计视图中拖放控件,然后在属性(Properties)窗口中设置ID或Text,此时又会将ID或Text称为Property。因为控件在服务器上是作为控件类(Control Class)实现,使得可以用编程的方式来访问控件。那么属性必然是Class中的Property。

 

当我们在学习新知识的时候,除了“知其然”,更要“知其所以然”,这样我们才能对概念有深层次的理解。同时,在我们平日里使用术语的时候,一定要准确,否则在交流时遇到不必要的障碍,白白增加交流成本。

C# Field,Property,Attribute的区别 这几个词如果只看字面意思很有可能会混淆,我自己也是一直分不太清楚,因为翻译的问题,之前都是一知半解,今天专门查了查资料,整理了一下。 Attribute & Property 1. There's a lot of difference between a C# property and attribute. A property lets you get/set data in you 阅读详情

相关推荐

华为AC外置Portal认证方案配置步骤指南

华为AC外置Portal认证方案配置步骤指南

m0_46129105的博客 7682

Attribute和Property的区别

一:Attribute和Property的区别 1.含义区别 首先在定义上更准确的来说,Attribute和Property分别为特性和属性,作为区别。 其次,这样理解下来,我们知道Attribute就是DOM节点自带属性,例如我们在HTML中常用的id,class,src,title,alt等。而Property则是这个DOM元素作为对象,其附加的属性或者内容,例如childNodes,fir...

u013362969的博客 1万+

代码详解——Transformer

对于一个序列,在 time_step 为 t 的时刻,我们的解码输出应该只能依赖于 t 时刻之前的输出,而不能依赖 t 之后的输出。当 Decoder 的输入矩阵和 Mask 矩阵输入矩阵包含 “ I have a cat” (0, 1, 2, 3, 4) 五个单词的表示向量,Mask 是一个 5×5 的矩阵。然后判断是否传入的mask, 如果有mask (mask参数值不为None),则把mask为0的位置,将对应位置的attn的值设为无穷小的负数。可以发现得到的输出和输入的K,Q,V的大小相同。

zyw2002的博客 7217

【心得】Attribute和Property的区别;

Attribute和Property的区别 1、Attribute和Property都是属性的意思,也有人翻译Attribute为特性,Property为属性,有的地方和人也不会去区分这个意思,这个看人,这个帖子也总结了一些观点,如果有不同意见欢迎交流,权当有趣; Attribute是原属性; Property是通过方法处理过得到的属性; 2、类似: 生活中的广义的水(Attri

陶洲川的博客 1万+

如何修复Windows卡在“正在准备Windows”的问题?这里有详细步骤

如何修复Windows卡在“正在准备Windows”的问题?这里有详细步骤。

wyxtx的博客 5664

免费测试国外大模型Claude 3.7 Sonnet API:无需api key(秘钥)

Claude 3.7 Sonnet是Anthropic公司推出的第三代Claude系列AI模型中的中规模版本(2024年发布),在性能与效率间实现平衡。该模型基于改进的Transformer架构,支持128K上下文窗口,擅长复杂推理、数学计算和创意写作,在GSM8K数学基准测试中准确率达92%。其采用"宪法AI"伦理框架,通过多轮对抗训练减少有害输出,同时新增多模态理解能力(可解析图片/图表内容)。Claude 3.7 Sonnet是Anthropic推出的高效轻量级大模型,主打快速响应与成本优化。

Explinks的博客 1498

attribute和property的区别

转自:微点阅读https://www.weidianyuedu.com property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(property:属性,attribute:特性),但实际上,二者是不同的东西,属于不同的范畴。 property是DOM中的属性,是JavaScript里的对象; attribute是HTML标签上的特性,它的值只能够是字符串; attribute和property介绍 简单理解,Attribute就是dom节点自带的属性,例如ht..

ysds20211402的博客 4028

STDP实战:用PyTorch从零搭建脉冲神经网络(附完整代码)

本文提供了基于PyTorch从零搭建脉冲神经网络的实战教程,重点讲解了STDP学习规则的原理与工程实现。通过构建LIF神经元模型和向量化STDP层,并结合泊松编码,详细演示了如何构建一个能够进行无监督特征学习的混合网络架构,为探索神经形态计算和低功耗实时学习方案提供了完整代码与实践指南。

weixin_29056145的博客 267

面试官:property和attribute的区别

在前端开发中,property(属性)和attribute(属性/特性)是两个不同的概念,尽管它们在 HTML 和 JavaScript 中经常被混用,但它们的本质区别如下:1. 定义Attribute(HTML 特性)是 HTML 标签上的原始值,用于初始化元素的状态。存在于 DOM 元素的 attribute 节点中,只能通过getAttribute()/setAttribute()...

粉丝们务必加入微信粉丝群 1058

手把手教你学Simulink——基于多能互补微电网系统的建模与优化场景实例:风柴储联合供电系统在孤岛模式下的功率分配建模

本文介绍了使用MATLAB/Simulink和Simscape Electrical构建风柴储联合供电系统的建模方法。系统包含风力发电、柴油发电、储能电池等模块,重点研究孤岛模式下功率分配策略。详细说明了从创建项目、添加模块到搭建风力发电系统(含MPPT控制)、柴油发电系统及集成各模块的全过程,并提供了仿真参数设置建议。通过分析频率偏差、电池SOC等关键指标,验证了系统在维持稳定运行的同时能有效利用可再生能源。该模型为研究多能互补微电网提供了实验平台,未来可拓展更高效的能量管理策略和AI技术的应用。

MHD0815的博客 1万+

SAP 系统里生成 PDF 的几条主干路径:从 Spool 转换到 Adobe 原生渲染,再到 BTP 云服务

本文系统梳理了SAP生态中PDF生成的多种技术方案,包括Spool转换、OTF转换、Smart Forms/Adobe Forms原生生成以及云端服务等不同路径。文章通过实际案例和代码示例,详细分析了各方案的适用场景、技术要点和工程实践建议,特别强调了多语言支持、字体处理、性能优化等关键因素。针对不同业务需求,提供了从简单导出到复杂交互式PDF的完整解决方案框架,为SAP环境下的PDF处理提供了实用指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 289

(Python)从attribute到property

字面意思上的区别attribute与property, 都可翻译成属性. 无论是在中文还是英文中, 它们的意思都几乎一样, 但还是有些许差别. Google了好几下, 找到了一个看起来比较靠谱的解释: According to Webster, a property is a characteristic that belongs to a thing’s essential nature an

Daniel2333的博客 6005

通过理解 sk_buff 深入掌握 Linux 内核自定义协议族的开发实现

在。

数字人生 458

是Attribute,还是Property

导读:   Attribute和Property都可以翻译成“属性”,有的地方用Attribute表示“属性”,有的地方又在用Property,初学者常常在这两个单词间“迷失”,甚至认为二者没有区别,是一样的。可是Attribute不等于Property。二者之间到底有何区别?      我们从OOA/OOD(Object Oriented Analysis / Object Orient

网摘 1616

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C#中property和attribute区别

1、 property就是访问字段(成员变量,field)提供的一种方式(set/get) 而attribute是都是继承自System.Attribute的一系列class,用来自定义属性2、前者被翻译为属性,后者是自定义属性3、前者叫:属性(类成员级的) 后者叫:定制特性(类级)4、property是指类向外提供的数据区域。而attribute则是描述对象在编译时或运行时属

4316

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

DOM 中attribute 和 property的区别

Attribute vs Property 第一个问题: 什么是 attribute & 什么是property attribute是我们在html代码中经常看到的键值对,例如 <input id="the-input" type="text" value="Name:" /> 上面代码中的 input 节点有三个 attribute: id:the-input type:text value:Name: property是attribute对应的DOM节点的对象属性 ,例如

shuoxi666的博客 989

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

attribute与property

1、Attribute Attribute是HTML上设置的属性,在html中显式地设置,或者通过setAttribute()方法设置。 对于Attribute,它有三个常用的方法setAttribute()、getAttribute()以及removeAttribute(); Attribute的属性值只能是字符串,属性键大小写不敏感 2、Property DOM是JavaScript里的对象,...

tomorrow_shoe的博客 183

JavaScript中attribute和property的区别

这是由于,每一个DOM对象都会有它默认的基本属性,而在创建的时候,它只会创建这些基本属性,我们在TAG标签中自定义的属性是不会直接放到DOM中的。此时,页面中的输入栏的值变成了“new value of prop”,而propety中的value也变成了新的值,但attributes却仍然是“1”。可以发现有一个名为“attributes”的属性,类型是NamedNodeMap,同时有“id”和“className”、”title“等基本的属性,但没有“titles”这个自定义的属性。

hdxx2022的博客 126

javascript中attribute和property的区别

含义区别 首先在定义上更准确的来说,Attribute和Property分别为特性和属性,作为区别。 其次,这样理解下来,我们知道Attribute就是DOM节点自带属性,例如我们在HTML中常用的id,class,src,title,alt等。而Property则是这个DOM元素作为对象,其附加的属性或者内容,例如childNodes,firstChild等。 另外我们常把他们弄混淆是因为,有些例如id,class,title常用的Attribute已经被作为Property附加在DOM对象上,也可以取值

weixin_44022374的博客 375

vue 中的 attribute 和 property

attribute 和 property 是 Web 开发中,比较容易混淆的概念,而对于 value,因其特殊性,更易困惑,本文尝试做一下梳理和例证 attribute 和 property 的概念 简单的说,attribute 是元素标签的属性,property 是元素对象的属性,如下: <input id="input" value="test-sth"> <script> let input = document.getElementById('input'); console

qq_42459832的博客 1189

DOM中Property与Attribute的区别

property和attribute的汉语翻译几乎相同,都有“属性”的意义(这里姑且称attribute为“特性”,以方便区分),而他们的取值也经常相同,但有时又会踩坑,发现二者会不相等,不同步。   0.奇葩的IE 本 文开始之前不得不提一下万恶之源IE,在IE&lt;9中,浏览器会把所有的property和attribute强制映射,即property = attribute. (c...

Just Code 361

C#中Property和Attribute的区别

Attribute 字段 Property 属性(get;set;) 属性的正常写: private string name; public string Name { get { return name; } set { name = value; } } 简写:(自动属性) public string Name { get; set; } 然后 编译器 会转换成 正常写法 l Property就是访问字段(成员变量,Field)提供的一种方式(set/get) l Prope..

DavidLiu的博客 1340
上一篇: 行列转换
下一篇: Fulltext on Katmai
confei
博客等级 码龄20年 18粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值