tags: OC 30 day
什么是面向对象?
实现需求之一:
Ex:要如何将大象放入冰箱?
打开冰箱门。把大象放进去。把冰箱门关上。有没有更好的方式:
买电脑的需求方式?
根据自己的需求和预算确定买的电脑型号。上网查资料确定电脑型号。去apple专卖店。成交。回家。但是以上的结果是不是有可以会有例外状况呢?
如果我找一个懂电脑的高手带我去买电脑,是不是可以省下很多事?
买电脑的两种方式:
1. 每件事情都需要自己去做。(这样不好。你不是专业的,所以你没办法做到专业。)
强调的是过程,强调的是步骤。我是主角,我是彻头彻尾的执行者。
2. 找一个电脑高手,我只需要带钱,其他事情电脑高手帮我做。
强调的是电脑高手,我只是一个扬眉吐气的指挥者。
同一件事情我们有两种不同的解决思路。
面向过程
如果解决一件事情的时候,每一件事情都是我们亲自去一步步实现,那么解决事情的思路叫做面向过程的解决思路。
面向对象
如果解决一件事情的时候,自己不亲自做,而是找一个专门做这件事情的人帮助我们去做,这样解决事情的思路,叫做面向对象的解决思路。
面向对象与面向过程的优缺点
C语言是一门面向过程的语言,有功能的概念却没有物件的概念。
OC是一们面向对向的语言。
面向过程解决问题的缺点:后期的维护修改不方便
面向对象解决问题的优点:后期的维护修改十分方便
如何以面向对象来设计程序呢?
当你遇到一个需求时,不要要亲自去实现。
先看看有没有现成的人是专门做这件事情的。 Ex:框架如果没有,就自己做一个拥有这个功能的人,造出的这个人可以多次使用。