組合 Bicycle Bicycle有一個Parts,而Parts則有一個Part物件集合。 Parts是一個扮演Parts角色的類別,它實作spares...
「程序性」和「物件導向」? The word is procedural. The word is also object-oriented. 書上的這兩句...
一、簡介 想必在寫程式的過程中,大家或多或少都有聽過所謂物件導向 (Object Oriented Programming) 的觀念,也就是所謂的 OOP,甚至...
YAGNI (You aren't gonna need it!),是敏捷開發的核心設計原則之一。此原則指出,程式開發者應該在面臨確鑿的需求時,才實作相應的功能...
Constructor 建構子 __construct()function 建立後自動呼叫 初始化物件的屬性(properties) 注意:__ 兩個下底線...
class 是 obejct 的模板,object 是 class 實體化 定義類別 class 最前面加上 class class 裡面的變數叫做屬性(Pr...
介紹 前言 昨天的最後提到了Java其實可以讓子類別繼承多個「介面」父類別的成員。 如果反過來,讓一個父類別被多個子類別繼承呢 ? 這個就稱為「多型」(Pol...
前言:請參考系列文章前面的Day 23. Crpto bot 功能 與 menu 和24. Crypto bot file I/O 讓我們馬上進入正題,首先做...
OOP Object-Oriented Programming,物件導向程式可以建立一個包含 data 、funciton 的物件 OOP 的特色: 更快更容...
昨天終於解釋完Polymorphism,今天接著來聊聊為什麼要用virtual function虛擬函數。先來複習一下昨天的code: #include <...
前言:暨之前聊到繼承,今天來實作一下Hackerank上的兩個題目Inheritance Introduction和Inheritance然後之後開始準備進入C...
繼前面兩篇Day25、Day26的初步功能跟menu,接下來要邁向物件導向的分裝大法,讓我們先來把他們一個一個分類開來變成function吧~到時候就可以直接包...
前言:哎~關於polymorphism是什麼我花好幾天翻了課本不懂、估狗過也不懂、查Youtube也沒怎麼聽懂。 今天就來試著用白話文把他形容出來。 如同之前說...
當我們要做出兩個很類似的class時,可以讓第二個class承繼一些原本class的參數與設定,不用再重複打一次,一樣是省時間省眼睛的懶人福音。 為了簡單稱呼,...
You are me and moreThe good dinosaur 繼承範例 覆寫 新增一些東西 多重繼承 不好的繼承 用食譜學繼承 物件導...
之前三篇物件導向類別Class、物件Object、建構子Constructor歡迎接續觀看 前言: function作用是裝方式、作法(return a+...
關於class類別是什麼和為何要用他請搭直通車Day07Class類別目標:要把我房間的書做個統計,總共有150本。(第一版本土法煉鋼法的code請點上面直通...
(是的,首先我得承認這個主題名字下得不太直觀,但來不及改了..... )物件導向是一個寫程式的方式,一個建構出複雜程式的方法。我們身為人類發明出電腦,絞盡腦汁寫...
今天要談到的觀察者模式也是很常見的一個模式,常出現在有兩個以上需要互相溝通的物件之間 問題 假設有個物件 A 想要獲得物件 B 的更新資訊,但實際上 A 不知道...
當一個請求 (request) 進入系統之後,通常我們就會立即的處理它。但如果我們不想這麼直接的去處理這些請求,而是先讓這些需求排隊、依序進入,甚至做一些預先處...
今天開始進入到 Behavioral design patterns,這一類的模式著重於物件之間的溝通與責任分配,就讓我們接下去一起看看吧 Chain of R...
在 Structural patterns 當中,最後要來談的是外觀模式。 外觀模式提供我們一個簡單方便的操作介面,其背後幫我們實現了複雜的操作。這樣的模式其實...
今天要談到代理模式,其實跟昨天的裝飾器模式很類似。代理模式的目的在於,因應某些條件替換物件原本的行為。 同樣用昨天的例子,這裡有 BookPrinter 可以把...
今天要介紹的裝飾器模式,跟之前提到過的轉接器模式有點類似(但其實結果完全不一樣)。 轉接器模式的功能在於將讓現有的物件可以透過轉接器,能夠實現自己沒有的介面或功...
今天要來介紹一個比較特別、平常可能不太常見的模式。就讓我們直接進入問題吧 問題 假設有間百貨公司週年慶,為了回饋會員,決定發送福袋給大家。在福袋當中,會放入價值...
今天的橋接器模式,和昨天的轉接器模式一樣,都是非常常見的模式,可能我們不自覺當中都會使用到。話不多說,我們就先來看例子吧! 這裡有一個 Shape 類別,定義了...
今天開始要介紹 Structural patterns。先前的 Creational patterns 著重在如何根據不同的問題建立一個新的物件,而 Struc...
今天來介紹 Creational Patterns 當中的最後一個模式。 假設這裡有一個 Engineer 類別,他除了有個 name 屬性之外,還擁有 too...
如果今天我們想要開一間飲料店,飲料的組合包含了茶、糖,還有牛奶,於是我們可以建立一個 createTea 方法,並依據傳入的參數,來決定最後的產品 class...
延續上一篇文章的例子,我們除了想要訓練出 baseball player 之外,也希望他能夠同時擁有一些裝備,像是合適的棒球衣以及棒球鞋。 所以這裡我們在 Ba...