Ruby的OOP與動態特性

2021-09-17 06:19:22 字數 911 閱讀 2382

本圖書摘選來自amazon**銷量最好的三本ruby書之一《the ruby way》第二版的中文版(《ruby之道》,已由人民郵電出版社出版)第11章,介紹了一些不常見或較高階的oop技術以及一些常見的用法。同時介紹了一些設計模式的實現(以及一些不需要實現的模式),還討論ruby的反射api、ruby的動態性導致的一些有趣的結果以及使用動態語言能夠實現的各種技巧。

\ ruby是一種物件導向的敏捷語言,借鑑了lisp、smalltalk、perl、clu和其他語言的最佳特性。在本書第一版面世後的5年內,ruby得以日益流行。《ruby之道》採用「如何解決問題」的方式闡述ruby程式設計,書中包含400多個按主題分類的示例。每個示例都回答了「如何使用ruby來完成」的問題。首先對要完成的任務進行了描述,並討論了技術方面的約束條件;然後逐步地闡述了一種優秀的解決方案。在過程中,作者輔以說明和解釋來幫助讀者理解。

\ 本文作者hal fulton有著非常豐富的軟體從業經歷,早年他主要從事unix系統相關的開發工作,在2023年首次接觸ruby,然後就一發不可收拾地愛上了這門語言。他先後參見了6次ruby大會,並在其中的4次中發表過演講,現在他仍然活躍在ruby的郵件列表和irc頻道中,而且正在開發幾個ruby專案。也許正因為他對這門語言的熱愛,才使得他寫出了包括ruby語言創始人松本行弘都為之讚嘆的《the ruby way》,並親自為這本書的第一版和第二版作序。在序中,松本行弘說:

\

「道」是很難形容的。我能夠感受到它,但未曾嘗試過用語言來解釋它。這太難了,即使是用我的母語日語。但hal fulton這樣做了,且第一次(本書的第一版)就做得很不錯。由於得到了ruby社群許多人的幫助,他的第二次嘗試(即《ruby之道》第二版)更出色。
\

徵得人民郵電出版社的同意,我們將松本行弘的兩個序言悉數加入到本摘選中,一起分享這位ruby大師的珠璣之言。

\ 本書涵蓋如下主題:\

一步一步學Ruby 十七 Ruby動態特性

ruby中的一切都是動態的,例如,我們可以在程式執行時,動態的新增方法,類等。前面我們已經看到了ruby的動態特性,例如 給單個物件新增方法,重新開啟類等。如果熟悉rails,就知道activerecord提供基於資料庫表的欄位名的方法。每乙個欄位都有乙個方法,這個就依賴於ruby的動態特性。一 單...

一步一步學Ruby 十七 Ruby動態特性

ruby中的一切都是動態的,例如,我們可以在程式執行時,動態的新增方法,類等。前面我們已經看到了ruby的動態特性,例如 給單個物件新增方法,重新開啟類等。如果熟悉rails,就知道activerecord提供基於資料庫表的欄位名的方法。每乙個欄位都有乙個方法,這個就依賴於ruby的動態特性。一 單...

精簡的OOP的三大特性

封裝 1.隱藏實現細節 2.恰當地公開介面 3.將介面和實現分開,增強可維護性 實現細節改變時,使用該類的客戶端程式不需要改變 繼承 1.描述聯結類的層次模型 2.通過抽象,表達共性,實現類的重用 3.通過子類增加方法和屬性以及重寫方法,表達差異性 多型 1.遮蔽子類的差異性,針對共性 介面程式設計...