一 物件模型

2021-07-25 22:19:19 字數 730 閱讀 3004

在ruby程式中,物件僅僅是其大世界的乙個公民而已,除了物件還有其他語言構件,比如類(class)、模組(module)以及例項變數(imstance variable)等,元程式設計操控的就是這些語言構件。所有語言構件存在於其中的系統稱為物件模型,它是ruby的靈魂。

(1)物件由一組例項變數和乙個類的引用組成

(2)物件的方法存在於物件所屬的類中(從類的角度,它們叫做例項方法)

(3)類本身是class類的物件。類的名字不過是一格常量而已

(4)class類是module的子類,乙個模組基本上是由一組方法組成的包。類除了具有模組的特性之外,還可以被例項化(通過new()方法)及被組織為層次結構(通過它的superclass()方法)

(5)常量像檔案系統一樣,是按照樹形結構組織的。其中模組和類的名字扮演目錄的角色,其他普通的常量則扮演檔案的角色

(6)每個類都有乙個祖先鏈,這個鏈從自己所屬的類開始向上直到basicobject類結束

(7)當呼叫乙個方法時,ruby首先向右一步來到接收者所屬的類,然後一直向上查詢祖先鏈,直到找到該方法,或者達到鏈的頂端為止

(8)每當類包含乙個模組時,該模組會被插入到祖先鏈中,位置在該類的正上方

(9)當呼叫乙個方法時,接收者會扮演self的角色

(10)當定義乙個模組(或者類)時,該模組扮演self的角色

(11)例項變數永遠都被認定為self的例項變數

(12)任何沒有明確指定接收者的方法呼叫,都當成是呼叫self的方法

物件導向(一) 物件屬性

物件屬性型別 每個物件都是基於乙個引用型別建立的 1.資料屬性 2.訪問器屬性 4個特性 1.configurable 能否delete屬性從而重新定義屬性 能否修改屬性的特性 能否把屬性改為訪問器屬性 2.enumerable 能否用for in迴圈返回屬性 3.writable 能否修改屬性的值...

物件導向(一) 物件屬性

物件屬性型別 每個物件都是基於乙個引用型別建立的 1.資料屬性 2.訪問器屬性 4個特性 1.configurable 能否delete屬性從而重新定義屬性 能否修改屬性的特性 能否把屬性改為訪問器屬性 2.enumerable 能否用for in迴圈返回屬性 3.writable 能否修改屬性的值...

《一》物件和封裝

物件導向 oop 可以從物件提煉出類的概念。物件是類的例項,類是物件的資料型別。從現實世界抽象出類 找出名詞,確定類 屬性 找出名詞,確定方法 剔除與業務無關的屬性和方法 訪問修飾符 構造方法名 3.3 1 靜態變數 不同的類之間需要對同乙個變數進行操作,把共享的變數用static修飾,那該變數為靜...