Re: [请益] 怎样算是会物件导向跟资料结构

楼主: rhythm7321 (rhythm7321)   2019-06-19 18:30:08
※ 引述《j0958322080 (Tidus)》之铭言
: 小弟因为非本科系,硕班主要都是写小小的数值计算而已,
: 都是用C99特性去写的,所以没什么需要OOP跟资料结构,
: 但是目前在软件部工作同事的用C++写的CODE也事都看得懂,
: 不过面试时如果主管只有问你懂OOP跟资料结构,我也不敢说我懂。
: 请问怎样才能算懂OOP跟资料结构
这是我的看法,希望抛砖引玉
Q:请解释何谓物件导向
物件导向设计是一个程式的设计架构
传统上的架构是结构化处理程序
即所有的资料处理都由主程式负责
维护上是整个资料、函式要一起维护
因为资料、函式之间没有隔阂
很容易因为修改这个导致另一个函式出错
也不好找bug
当规模越大越容易牵一发动全身
物件导向就是一种新的思考模式
它将资料和处理方法封装成一个独立物体
主程式、物件之间需透过
抽象接口去存取、操作
(抽象是指不须要知道、不用提供底层资讯
只要高层级的要求,接口会帮你实现)
而不是直接存取资料,存取空间彼此区隔
分工可以很明确,容易找到出错的点
这样的目的是为了
减少当需求改变或增加所造成的影响
避免更动到原本设计好的程式码
当需求增加时我们可以透过 继承、多型
或新增新的类别 去更新程式码
而不需要更动过测试好的程式码
当规模越大,维护上会比传统上轻松
我也是非本科,以上是自学、听来的想法
欢迎高手指正><

Links booklink

Contact Us: admin [ a t ] ucptt.com