關於不知道物件導向的新手小白
怎麼說呢 新手小白是從R開始學程式的
所以對物件導向沒有甚麼概念
爬了一些文章 大概知道
物件導向其實較適合大型的專案
因為寫出來的子程式可以很快的呼叫
也可以很容易的互相交換使用
下面我就用我知道的簡單例子 來說說物件導向
首先呢 物件導向的起手式
需要 class, __init__ , self 這三個關鍵字
# 我來定義一個 物件 他裏面包含了 身高 和 台斤
# XXX 是我亂取的名字
#詳細寫出來如下
#至於為什麼要用 __init__ 和 self 我不是很清楚 就當作固定的寫法吧..
class XXX:
def __init__(self,h,w): # __init__ 一樣是一個函數
self.height=h # self 指得是整個物件本身
self.weight=w*0.6 ##公斤轉台斤
# 然後我們定了兩個附屬的屬性? h 和 w
# 不懂的話先想成是專門定給 self 的函數吧
# 函數名稱分別是 height 和 weight
# 函數內容分別就是 h 和 w *0.6
#定義好了之後 我們來跑跑看吧
QQ=XXX(170,100)
# 以函數來看是應該要填三個欄位 但是self就跳過吧!!
# 所以我分別輸數了 身高為170 和 體重為 100公斤
# 我們看看他 print 出來的樣子
# 可以看到 "XXX object" 恩..意思就是我們建出了XXX的物件
# 我們可以很輕易地用 QQ.height,QQ.weight 叫出我們要的東西
print(QQ)
print(QQ.height,QQ.weight)
#接下來 我們可以加入一些 def 讓我們定義的物件豐富些
class XXX:
def __init__(self,h,w):
self.height=h
self.weight=w*0.6
def PRI(self):
print("身高",self.height, "台斤為" , self.weight)
#我定了一個幫我把身高和台斤都 print 出來的函數 叫 PRI
#呼叫得時候一樣用 點號 就可以
#但使用時記得加()喔
QQ=XXX(170,100)
QQ.PRI()
## 最後介紹一下繼承這個功能
## 這也是我說為甚麼物件導向適合大型的專案
## 當我們覺得剛寫的 XXX 這個物件很不錯
## 我不想動 我寫好的 XXX
## 但又想要把它的功能用到其他物件裡
## 我可以使用承繼的功能
#寫法如下:
class XXXX(XXX): ### 簡單來講就是把 self 改成 XXX
def PRI2(self): ### __init__ 就不用囉
print("身高一樣",self.height, "但我長胖了" , 3 ,'斤')
QQQ = XXXX(170,100)
QQQ.PRI2()
好囉 以上只是我對物件導向的一些理解
不管怎說 我都覺得這種寫法 看起來就很厲害
而且在大專案裡面 可以把東西切個得比較清楚
我想這也是他為什麼叫物件的原因吧
總之 有機會的話 新手小白也會試試看這種寫法
本篇的code 在 http://ge.tt/5DLkhXt2
謝謝大家