• Attribute和Property


    有时很容易对Attribute和Property混淆,因为中文翻译都是“属性”来解释的。其实这两个表达的不是一个层面的东西。

    Property属于面向对象理论范畴,在使用面向对象思想编程的时候,常常需要对客观事物进行抽象,再把抽象出来的结果封装成类,类中用来表示事物状态的成员就是Property译为“属性”。比如要写一个模拟赛车的游戏。现实的汽车会有很多的数据:长度,宽度,高度,重量,速度等有几个数据。同时,还会把汽车“加速”,“减速”等一些行为也提取出来并用算法模拟,这个过程就是抽象(结果是Car这个类)。显然,Car.Length,Car.Height,Car.Speed等表达的是汽车当前处的状态,而Car.Accelerate(),Car.Break()表达的是汽车能做什么。因此,总结一句话:Property(属性)是针对对象而言的。

    Attribute则是编程语言文法层面的东西。比如有两个同类的语法元素A和B,为了表示A与B不完全相同或者A与B在用法上有些区别,这时候要针对A和B加一些Attribute。也就是说,Attribute只与语言层面上的东西相关,与抽象出来的对象没什么关系。因为Attribute表示“区分”的,所以把它译为“特征”。

    因为XAML是用来在UI控制上绘制控件,而控件本身就是面向对象抽象的产物,所以XAML标签的Attribute里面就有一大部分与控件对象的Property互相对应的。当然,这还意味着XAML标签还有一些Attribute多于它所代表对象的Property。

    读书笔记《深入浅出WPF》(作者刘铁锰)

  • 相关阅读:
    MongoDB(13)- 查询操作返回指定的字段
    MongoDB(12)- 查询嵌入文档的数组
    MongoDB(11)- 查询数组
    MongoDB(10)- 查询嵌套文档
    MongoDB(9)- 文档查询操作之 find() 的简单入门
    MongoDB(8)- 文档删除操作
    MongoDB(7)- 文档插入操作
    MongoDB(6)- BSON 数据类型
    MongoDB(5)- Document 文档相关
    MongoDB(4)- Collection 集合相关
  • 原文地址:https://www.cnblogs.com/mszhangxuefei/p/wpf-1.html
Copyright © 2020-2023  润新知