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/cn.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灯, 水草

请输入看板名称,例如:BuyTogether 或 站内搜寻

TOP