iOS APP 开发 OC 第六天, 面向过程&面向对象

tags: OC 30 day

什麽是面向对象?

实现需求之一:

Ex:要如何将大象放入冰箱?

  1. 打开冰箱门。
  2. 把大象放进去。
  3. 把冰箱门关上。

有没有更好的方式:

买电脑的需求方式?

  1. 根据自己的需求和预算确定买的电脑型号。
  2. 上网查资料确定电脑型号。
  3. 去apple专卖店。
  4. 成交。
  5. 回家。

但是以上的结果是不是有可以会有例外状况呢?

如果我找一个懂电脑的高手带我去买电脑,是不是可以省下很多事?
买电脑的两种方式:

1. 每件事情都需要自己去做。(这样不好。你不是专业的,所以你没办法做到专业。)

强调的是过程,强调的是步骤。我是主角,我是彻头彻尾的执行者。

2. 找一个电脑高手,我只需要带钱,其他事情电脑高手帮我做。

强调的是电脑高手,我只是一个扬眉吐气的指挥者。


同一件事情我们有两种不同的解决思路。

面向过程

如果解决一件事情的时候,每一件事情都是我们亲自去一步步实现,那麽解决事情的思路叫做面向过程的解决思路。

面向对象

如果解决一件事情的时候,自己不亲自做,而是找一个专门做这件事情的人帮助我们去做,这样解决事情的思路,叫做面向对象的解决思路。

面向对象与面向过程的优缺点

C语言是一门面向过程的语言,有功能的概念却没有物件的概念。
OC是一们面向对向的语言。

面向过程解决问题的缺点:後期的维护修改不方便

面向对象解决问题的优点:後期的维护修改十分方便

如何以面向对象来设计程序呢?

当你遇到一个需求时,不要要亲自去实现。

  1. 先看看有没有现成的人是专门做这件事情的。 Ex:框架
  2. 如果没有,就自己做一个拥有这个功能的人,造出的这个人可以多次使用。

<<:  Day 28 - 强化学习 Reinforcement Learning(2)

>>:  Android:在Fragment禁用返回键最简易的方法

予焦啦!实作基本排程

本节是以 Golang 上游 6a79f358069195e1cddb821e81fab956d9...

7 种敏捷估算技术 (Agile Estimation Techniques)

敏捷估算 (Agile Estimation) 技术有助於估算并且猜测如何正确地计划和执行是很重要的...

DNS 安全扩展 (DNSSEC)

-DNSSEC 资源记录(来源:InfoBlox) DNSSEC使用数字签名确保DNS 数据的完整...

Android Studio初学笔记-Day12-Spinner

Spinner选单 Spinner有快速选择选单中项目的功能,是个很常用的选择工具,不过spinne...

Day 3 基本范例

前言 今天会介绍一些 flask 的基本函式,所以我们还没有正式开始写专案。这些基本的函式十分常用,...