如果今天我們想要開一間飲料店,飲料的組合包含了茶、糖,還有牛奶,於是我們可以建立一個 createTea 方法,並依據傳入的參數,來決定最後的產品 class...
You are me and moreThe good dinosaur 繼承範例 覆寫 新增一些東西 多重繼承 不好的繼承 用食譜學繼承 物件導...
抱持著重開機的心情,我開始了我的第一堂課。 一開始是學員自我介紹跟課程講解。 稍微帶了一下程式語言,跟設計的概念。 來貼一下,我們的課程規劃。 這是一個chap...
今天的橋接器模式,和昨天的轉接器模式一樣,都是非常常見的模式,可能我們不自覺當中都會使用到。話不多說,我們就先來看例子吧! 這裡有一個 Shape 類別,定義了...
在 Structural patterns 當中,最後要來談的是外觀模式。 外觀模式提供我們一個簡單方便的操作介面,其背後幫我們實現了複雜的操作。這樣的模式其實...
介紹 前言 昨天的最後提到了Java其實可以讓子類別繼承多個「介面」父類別的成員。 如果反過來,讓一個父類別被多個子類別繼承呢 ? 這個就稱為「多型」(Pol...
今天要介紹的裝飾器模式,跟之前提到過的轉接器模式有點類似(但其實結果完全不一樣)。 轉接器模式的功能在於將讓現有的物件可以透過轉接器,能夠實現自己沒有的介面或功...
OOP Object-Oriented Programming,物件導向程式可以建立一個包含 data 、funciton 的物件 OOP 的特色: 更快更容...
class 是 obejct 的模板,object 是 class 實體化 定義類別 class 最前面加上 class class 裡面的變數叫做屬性(Pr...
「程序性」和「物件導向」? The word is procedural. The word is also object-oriented. 書上的這兩句...
本篇,我們要提到的是程式語言中,非常重要的概念 —— 物件導向。 聽著好像很複雜,其實我們現實生活都充滿了物件導向的概念。淺顯一點地解釋,便是把細小的東西以「物...
大家對於方法的定義和使用大致理解後,今天想跟大家聊聊ruby內特別的方法,大家有印象我在前兩天的舉例都會在類別內定義一個initialize方法以及attrib...
轉接器模式 Adapter Pattern 可以讓物件在不同類別或介面中被使用,它可以把物件在不改變它本身類別的情況下,讓它轉換成另一個類別的樣子。轉接器可以分...
物件導向程式設計(Object-oriented programming,OOP) MQL5相較於MQL4最大的更新便是增加了物件導向,而OOP(Object-...
還有兩種方式也可以做出物件prototype: ES6 class Object.create() ES 6 class Syntactic sugar語法...
繼上篇的物件導向程式設計概念,近期在面試上有遇到一個很重要的相關觀念,當時不知道為什麼,現在整理出來分享~ :有聽過 SOLID 嗎?:SOLID 是什麼? S...
昨天,我們正式讀完 《Practical Object-Oriented Design in Ruby: An Agile Primer》,想必大家一定還是也些...
在之前都是分享 JavaScript 相關的內容,接著想分享自己學習 Ruby 與 Ruby on Rails 時,了解到的重要知識,都會再接下來的文章中出現唷...
組合 Bicycle Bicycle有一個Parts,而Parts則有一個Part物件集合。 Parts是一個扮演Parts角色的類別,它實作spares...
Ruby 支援一套豐富的運算符。大多數運算符實際上是方法的呼叫,運算符是所有算符的總稱,其底下又可以細分為算術運算符、比較運算符、邏輯運算符….等,文章只會紀錄...
今天,要來說明鴨子類型的測試,選擇好測試案例後,我們就可以根據前面兩天的步驟來測試輸入及輸出訊息。 測試鴨子類型 測試角色 以第5章的程式碼為範例,程式碼包含了...
抽象工廠模式 Abstract Factory Pattern 跟工廠方法模式一樣,都會把製造方法放在工廠中,跟客戶端分離。 每個工廠會對同一個食材介面...
先來複習一下,昨天,我們提到了類別(class)與實體(instance),Ruby藉由實例化類別形成物件,並透過方法(method)來表現行為或與其他物件互動...
Ruby 中的 Enumerable 是一個模組,提供了一組用於處理集合物件(例如陣列、雜湊表、範圍等)的方法。這些方法可以對集合進行迭代、篩選、轉換等操作。...
Ruby Object Model 是 Ruby 程式語言中用來描述物件、類別和模組之間關係的模型。 Ruby 的物件模型是其核心概念之一,它有助於理解 Rub...
今天的主題很老掉牙,你打關鍵字google會有一堆文章出現,至於為什麼還要寫呢,因為我開心你管我,因為在實作時超常碰到,必須要搞清楚才行,也趁此機會再摸得更熟。...
今天這個主題主要是因為工作上剛好在處理到 http 的 404 error 和 500 error 的 case,想說不如就趁機將研究的內容記錄下來,釐清 ru...
本章的篇幅比較長,但又不想捨棄任何精彩的部分,謝謝大家陪我讀到這,再努力一下!昨天,我們成功測試鴨子類型程式碼;今天,當然不能放過繼承程式碼囉(笑 測試繼承程式...
昨天分享了基本的運算符,今天來分享進階的* 運算符(Splat Operator)和** 運算符(Double Splat Operator),筆者也是今天要撰...
Factory Method Pattern 先來看一下工廠模式的特性吧~後面沿用上篇的Pizza Store來詳細說明 跟簡單工廠模式一樣,會將創建物件的方...