zoukankan      html  css  js  c++  java
  • OOP 术语:Attributes(特性)与 Properties(属性)的区别(转载)

    • 来源:http://www.wwwcoder.com/
    • 作者:Venkatarama Uppugunduri

    这些至少在程序员的世界中是一种容易被混淆的术语。它们的含意经常会被交换。

    这里是我对于它们的看法。

    Attributes(特性)讨论的是主题的天性。而 Properties(属性)则讨论的是主题的所有物中的财产、内容,状态或者所有权。

    打个比方说我是人类,在这个前提下人类就是以我为主题时的一个 Attribute(特性)。而象在我的公寓中既有人也有狗一样,在这里的人就是以公寓为主题时的 Properties(属性)。

    相同的事物出现在 .NET 的世界中。例如:Serializable 就是一个实例对象的 Attribute(特性),并且那个对象可能拥有一个使用所期望的 true 或 false 布尔值的属性来表示其能够被序列化。这会告诉 .NET 运行时:这个类是能够通过 Attribute(特性)来表示序列化能力的,并且又无需使用通过它所暴露的 Property(属性)就能够完全表示这个类是可序列化能力。

    因此 Attribute(特性)为主题定义了特有的性质或天性,而 Property(属性)则是属于这个主题的。在面向对象范例的术语中,与主题相关的 Attribute(特性)的含意应该是:“是什么”,而 Property(属性)的含意则应该是:“有什么”。

    范例
    • 人是人类。这里的人类就是一个 Attribute(特性)。
    • 人有翅膀。这里的翅膀就是 Properties(属性)。

    那么 Field(字段) 和 Property(属性)呢?多数时候我们都会听说:Fields(字段)和 Properties(属性)在有时候听起来是相似的,而在有时候它们听起来又是不同的。而实际上,Fields(字段)定义了在存储值或者主题的状态时所必需的区域,而 Properties(属性)则除了对状态或值的呈现之外,其他的什么也没有。

  • 相关阅读:
    树形目录生成器.bat
    Google 搜索截图
    Expo 2010 Japan Pavilion
    WinCE应用程序开发创建文件或文件夹
    Oracle 获取每月最后一天的函数
    Oracle的外连接符号(+)
    关于项目中找不到某个配置xml文件的问题
    通過反編譯跟蹤JSP頁面
    JSP 一些基本语法
    page request session application 范围
  • 原文地址:https://www.cnblogs.com/zhwl/p/2006037.html
Copyright © 2011-2022 走看看