物件導向程式設計(Object-oriented programming),縮寫為OOP。
維基百科定義如下:(https://zh.wikipedia.org/zh-tw/面向对象程序设计)
它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性、靈活性和擴充性,
物件裡的程式可以訪問及經常修改物件相關連的資料。
但對於一個初學者的我,看完後也是有看沒有懂。
其實「物件」在我們的生活息息相關,因為我們生活的週遭早就無時無刻都是「物件導向」了。
例如:我現在站在廚房炒菜。
瓦斯爐、鍋子、鏟子、青菜…等都是個物件,就連「我」都是個物件,
而這個例子中,就是其他物件和「我」這個物件,彼此互相進行互動的過程。
然而,物件導向程式設計就是將程式語言內的東西均以「物件」的形式呈現,
在程式中,物件和物件之間互相有區別,但又以程式碼的方式互相應用。
封裝性 - 被外界使用或受內部保護,細分來說分成以下三種:
繼承性 - 為達成重複使用的目的
多型性 - 可以藉由很多方法達到效果
一般來說,資料會儲存於記憶體中,當資料型態有所不相同的時候,
在儲存時所需要的容量也有所不同,不同的資料也會給不盡相同的空間大小來儲存,所以形成資料型態的意義。
然而在Ruby中,Ruby是物件導向的語言,所以Ruby中的資料型態都是物件。
在Ruby的世界,就算看起來是一個數字,但在這世界會是以一個物件來呈現,
或許對於我們以往對資料的概念有所不同。但使用物件導向讓有些東西重複使用性較大,
減少重複的程式碼,亦可以降低複雜的程度。