Property與Attribute的區別

2022-02-08 01:38:26 字數 792 閱讀 7791

property屬於物件導向的範疇----屬性

attribute則是程式語言文法層面的東西----特徵

property屬於物件導向的範疇。在使用物件導向程式設計的時候,常常需要對客觀事物進行抽象,在把抽象出來的結果封裝成類,類中用來表示事物狀態的成員就是property。比如要編寫乙個模擬賽車的遊戲,那麼必不可少的就是要對現實的賽車進行抽象,現實中汽車會帶很多資料,但是遊戲中可能只關心它的長度,寬度,高度,重量,速度等有限的幾個資料,同時,還會把汽車的加速,減速等行為提取出來用演算法進行模擬,這個過程就是屬於抽象(結果是car這個類)。顯然,car.length,car.height,car.weight等表達的是當前汽車所處的乙個狀態,而car.accelerate()、car.break()表達的是汽車能做什麼。因此,car.length,car.height就是property的典型屬性,是針對物件而言的。將property譯為「屬性」也很貼切,總之一句話:property屬性是針對物件而言的。

attribute則是程式語言文法層面的東西。比如有兩個同類語法的元素a和b,為了表示a與b不完全相同或者a與b的用法上有些區別,這時候就要針對a和b加一些attribute。也就是說attribute只與語言層面上的東西有關,與抽象出來的物件沒有什麼關係。因為attribute是為了表示「區分」的。所以它譯為「特徵」。c#中的attribute就是這種應用的典型例子,我們可以為乙個類新增attribute,這個類裡面有很多property(屬性)。顯然,attribute只用來影響類中程式中的用法,而property 則對應著抽象物件身上的性狀,根本不是乙個層面上的東西。

attrib命令的使用

attrib命令的使用 命令列 attrib s h c windows run.sys 解 釋 attrib 命令名稱 s 取消檔案的系統屬性 h 取消檔案的隱藏屬性 c windows run.sys 操作的檔名 注意每項之前均用空格間隔。對於attrib命令的使用詳解如下所示 attrib命令...

property指令與 synthesize指令

property指令,就不需要宣告相應的例項變數了 property int age 代替下面兩行 int age getter void setage int age setter在 implementation中,用來自動生成setter和getter的實現.synthesize age age...

property與 synthesize的差別

property的使用方法 inte ce viewcontroller property nonatomic,retain nsarray arr end implementation viewcontroller void viewdidload void setarr nsarray arr ...