今天開始要介紹 Structural patterns。先前的 Creational patterns 著重在如何根據不同的問題建立一個新的物件,而 Struc...
延續上一篇文章的例子,我們除了想要訓練出 baseball player 之外,也希望他能夠同時擁有一些裝備,像是合適的棒球衣以及棒球鞋。 所以這裡我們在 Ba...
過去一週我們提到了物件導向程式設計的重要概念,像是類別、抽象類別、介面,以及四大特徵:抽象、封裝、繼承、多型。 這裡讓我嘗試用一段話來整理這些內容之間的關係:...
You are me and moreThe good dinosaur 繼承範例 覆寫 新增一些東西 多重繼承 不好的繼承 用食譜學繼承 物件導...
一、簡介 想必在寫程式的過程中,大家或多或少都有聽過所謂物件導向 (Object Oriented Programming) 的觀念,也就是所謂的 OOP,甚至...
物件導向程式設計(Object-oriented programming,OOP) MQL5相較於MQL4最大的更新便是增加了物件導向,而OOP(Object-...
如果今天我們想要開一間飲料店,飲料的組合包含了茶、糖,還有牛奶,於是我們可以建立一個 createTea 方法,並依據傳入的參數,來決定最後的產品 class...
今天要介紹的裝飾器模式,跟之前提到過的轉接器模式有點類似(但其實結果完全不一樣)。 轉接器模式的功能在於將讓現有的物件可以透過轉接器,能夠實現自己沒有的介面或功...
遊戲開發是學習OOP最好的方式 上一篇討論OOP入門技巧,本篇則以遊戲為例使用OOP開發程式,讀者也許會覺得突兀,本系列文章不是在討論【開發中大型系統的必備技巧...
前言 雖然,物件導向程式設計(Object-oriented programming, OOP)已是老生常談,網路上有太多的資源可參考,不過,因為實在太重要了,...
在 Structural patterns 當中,最後要來談的是外觀模式。 外觀模式提供我們一個簡單方便的操作介面,其背後幫我們實現了複雜的操作。這樣的模式其實...
class 是 obejct 的模板,object 是 class 實體化 定義類別 class 最前面加上 class class 裡面的變數叫做屬性(Pr...
今天來介紹 Creational Patterns 當中的最後一個模式。 假設這裡有一個 Engineer 類別,他除了有個 name 屬性之外,還擁有 too...
前言 上一篇討論了OOA/OOD,接著我們就來實作OOP,本篇先討論Python的類別(Class),並說明如何達成繼承(Inheritance)、封裝(Enc...
「程序性」和「物件導向」? The word is procedural. The word is also object-oriented. 書上的這兩句...
今天的橋接器模式,和昨天的轉接器模式一樣,都是非常常見的模式,可能我們不自覺當中都會使用到。話不多說,我們就先來看例子吧! 這裡有一個 Shape 類別,定義了...
抱持著重開機的心情,我開始了我的第一堂課。 一開始是學員自我介紹跟課程講解。 稍微帶了一下程式語言,跟設計的概念。 來貼一下,我們的課程規劃。 這是一個chap...
前言 撰寫Python程式很簡單,因為Python的發明人Guido van Rossum希望撰寫Python程式可以像英文寫作一樣自然,不需要作變數型別宣告、...
在之前都是分享 JavaScript 相關的內容,接著想分享自己學習 Ruby 與 Ruby on Rails 時,了解到的重要知識,都會再接下來的文章中出現唷...
OOP Object-Oriented Programming,物件導向程式可以建立一個包含 data 、funciton 的物件 OOP 的特色: 更快更容...
大家對於方法的定義和使用大致理解後,今天想跟大家聊聊ruby內特別的方法,大家有印象我在前兩天的舉例都會在類別內定義一個initialize方法以及attrib...
繼上篇的物件導向程式設計概念,近期在面試上有遇到一個很重要的相關觀念,當時不知道為什麼,現在整理出來分享~ :有聽過 SOLID 嗎?:SOLID 是什麼? S...
Singleton Pattern 單例模式 在特定情況下,我們會希望某一些類別的物件只有一個,通常會用global variable 讓它是靜態變數。(例如設...
談測試之前,我們必須先知道,撰寫可修改的程式碼實踐依賴於三項不同的技能: 必須瞭解物件導向設計了解如何設計良好的對象和類結構是至關重要的。合理的設計可以最小...
今天這個主題主要是因為工作上剛好在處理到 http 的 404 error 和 500 error 的 case,想說不如就趁機將研究的內容記錄下來,釐清 ru...
組合 Bicycle Bicycle有一個Parts,而Parts則有一個Part物件集合。 Parts是一個扮演Parts角色的類別,它實作spares...
Ruby 支援一套豐富的運算符。大多數運算符實際上是方法的呼叫,運算符是所有算符的總稱,其底下又可以細分為算術運算符、比較運算符、邏輯運算符….等,文章只會紀錄...
Factory Method Pattern 先來看一下工廠模式的特性吧~後面沿用上篇的Pizza Store來詳細說明 跟簡單工廠模式一樣,會將創建物件的方...
還有兩種方式也可以做出物件prototype: ES6 class Object.create() ES 6 class Syntactic sugar語法...
本章的篇幅比較長,但又不想捨棄任何精彩的部分,謝謝大家陪我讀到這,再努力一下!昨天,我們成功測試鴨子類型程式碼;今天,當然不能放過繼承程式碼囉(笑 測試繼承程式...