Soft_Job 板


LINE

面試的時候也常被問這問題 後來自己整理過後大概有自己的解釋方式 還好沒面試官聽到睡著 也有被稱讚過解釋的不錯 所以分享給各位參考看看 如果有錯也希望各位糾正一下 OOP的三大精神分別為封裝、繼承、多型 封裝的目的是要隱藏私有成員 讓外部使用者透過公開的介面去使用 這好處是可以規範限制外部使用者 避免任意存取發生意料之外的行為 繼承的目的是要讓子類別擴充父類別所有的公開或限定子類別可見的成員 多型的功能是可以讓你對一個物件使用不同的型別去操作 這好處是可以讓不同類別但是繼承或是實做相同介面(interface)用同一個型別去操作 你只需要注意物件是否有共通的型別而不須注意物件本身怎麼實作 繼承跟介面(interface)使用上的差別? 繼承在使用上子類別跟父類別一定有is a的關係(雖然說我看過的code這根本就是屁…) 但是介面不一定有is a的關係 相反的 某些行為或屬性是某些類別有但其他類別又沒有的話 那麼就適合把這些東西抽離出來 讓有需要的類別去實作 又能不破壞類別繼承的關係 ※ 引述《goooeooo (ge)》之銘言: : 以前面試遇到的問題 : 面試官問我什麼是OOP : 當時我覺得我回答不好 : 我想請問以下 這樣解釋可以嗎? : OOP觀念 運用得宜可以將開發時間縮至最短 且觀念正確下 也可讓將來維護人員好維護 : 在大型系統下效果尤其顯著 : 譬如今天開發倉庫系統(我隨意舉例實際沒有碰過這種系統) : 由上往下分類 譬如有電子類、玩具類 此兩類都還有很多繼續向下的分類... : 將電子類、玩具類 設計製作成大致物件 : 就是讓此兩類的向下分類幾乎都是以此兩物件做為變化繼續修正或增加差異的部份來開發 : 譬如:電子類 再向下有手機類、電腦類 : 那將手機類、電腦類會共通的方法、邏輯再加上變數 制作成電子類物件 : 用電子類物件來小幅修正 完成向下的手機類跟電腦類兩個小差異的部份就行了 : 照這樣的規則一直向下 就是說 也將手機類跟電腦類 繼續做成物件 供向下分類使用 : 也就是說你必須在規劃開始時就已經思考好整個系統架構 會由幾個最上層的物件開始向下 : 一直向下創造物件 讓程式碼進而達到最簡化 但又能完成繁瑣的任務 : 讓開發人員可以快速開發 將來維護人員也可快速理解維護 : 所以最上層的物件設置規劃非常重要 關係到整個系統開發的過程 : 這是我所理解的 請問這樣可以解釋OOP觀念嗎? --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.233.159.254
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1510755850.A.43E.html
1F:推 loveflames: 介面也是要滿足is-a 11/15 23:05
2F:→ loveflames: 介面可以看成一種特殊的class 11/15 23:07
3F:推 sunsamy: 這樣解釋看得出來原po有懂沒有通(內化) 11/16 00:26
4F:→ aoksc: 不曉得哪裡還可以加強呢? 11/16 00:55
5F:→ newton2009: 能舉得出一個簡單、清楚的實例,就會通個七、八成唷。 11/16 07:50
6F:推 meowyih: 說真的. 這標題可以有這麼多回文, 然後每個回文下還都有 11/16 08:10
7F:→ meowyih: 人在吐槽別人的答案, 真是不可思議 = =a 如果是我的話只 11/16 08:11
8F:→ meowyih: 會問你寫過完成甚麼東西, 其中利用OO的好處和壞處是甚麼 11/16 08:11
9F:→ meowyih: 如果沒用OO理由又是甚麼, 真的做出甚麼東西, 又不是清朝 11/16 08:12
10F:→ meowyih: 科舉, 大家紙上談兵寫八股比高下 :p 11/16 08:12
11F:推 pttuser: 推樓上 11/16 09:36
12F:推 pttuser: 真槍實彈就是問如何用C表現出OO精神,然後記憶體優化程 11/16 09:39
13F:→ pttuser: 度,問完程度如何就知道了,結果一堆回文都在比作文 11/16 09:39
14F:→ gn01838335: 又不是每個人都是底層@@ 11/16 11:42
15F:→ gn01838335: 我比較在意記憶體回收和什麼時候會收的問題。 11/16 11:43
16F:推 Sidney0503: 推meowyih 問寫過什麼比較一下就好 前面幾篇根本課文 11/16 12:43
17F:→ VanDeLord: 強人領導下,領導者每一個細節都會反映在企業文化上 11/16 13:22
18F:→ VanDeLord: orz,推錯 11/16 13:23
19F:→ Argos: 又不是知道底層原理 OOP設計就能設計得好...= = 11/16 17:26
20F:推 pttuser: 樓上你說的沒錯阿,但知道OO在底層大概是怎樣的面貌,至 11/16 18:46
21F:→ pttuser: 少在原始設計上會多些考量,是說原始設計上喔 11/16 18:46
22F:→ bibo9901: 為何不能? 知道底層是如何實現, OOP只剩語法問題而已, 11/17 01:14
23F:→ bibo9901: 可以直接思考最好的抽象方法 11/17 01:15
24F:→ bibo9901: 很多人講到OOP就喜歡寫雞湯文, 一講到實作就說"我不需要 11/17 01:16
25F:→ bibo9901: 知道, 知道了也沒好處" 跟本是碼農思想的極致 11/17 01:17
26F:→ Argos: 樓上大概是萬中選一的絕世天才吧 只懂底層原理 OOP其它概念 11/17 09:58
27F:→ Argos: 與模式都不用看了就能自成一派 受小弟一拜 11/17 09:59
28F:推 APTON: 父子騎驢 11/17 13:06
29F:→ APTON: 寫太少會被說 沒有懂精髓 寫太多被說在寫作文 XDDD 11/17 13:07







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping 或 站內搜尋

TOP