iOS-面试助攻(一)

很多人在求职的时候,会遇到一个这样的问题:“对OOD/OOP有较深的理解”,这个时候有人就会问OOD、OOP是什么呢?那么今天咱们就一块来看一下OOA、OOD、OOP到底是什么!

(一)OOA--面向对象分析

  "面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求"。

(二)OOD--面向对象设计

  “面向对象设计是一种设计方法,包括面向对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型、静态模型和动态模型”。

  这里定义两个要点:

(1)面向对象设计导致了面向对象分解;

(2)面向对象设计使用了不同的表示法来表达逻辑设计(类和对象结构)和物理设计(模块和处理架构)的不同模型,以及系统的静态和动态特征。

(三)OOP--面向对象编程

  “面向对象编程是一种实现的方法,在这种方法中,程序被组织成许多组互相协作的对象,每个对象代表某个类的一个实例,而类则属于一个通过继承关系形成的层次结构”。

  这里定义有三个要点:

(1)利用对象作为面向对象编程的基本逻辑构建块,而不是利用算法;

(2)每个对象都是某个类的一个实例;

(3)类与类之间可以通过继承等关系联系在一起。

(四)总结

  它们之间的关系基本上,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。

时间: 2024-11-10 16:04:59

iOS-面试助攻(一)的相关文章

iOS面试

高德iOS面试整理(顺序有些乱,一面跪了) 1.简单自我介绍 2.聊c语言 3.两个数比较大小不用if和三目运算符 4.int转化为bit数组 5.多态和隐藏 6.const 和define区别 7.String类实现拷贝构造函数注意事项,是否有必要重写 数据结构 1.树层次遍历 2.链表删除 iOS 1.通知和delegate 2.ViewController 生命周期,  手动代码View添加 3.iOS 的click事件的响应过程 4.通知和KVO比较 5.ARC和非ARC (问到静态分析

iOS 面试问题的解答

关于一些 iOS 面试问题的解答 2015年04月26日 这篇 post 主要是对知乎上 iOS程序员的问题列表 的回答, 也算是对自己已有的知识进行整理. 如果你对本篇 post 中的回答有所疑问, 可以在下面留言. 如果有问题, 我一定会修改的 :-) 问题以及回答 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 iOS5 中引入的内存管理机制. Objective

C C++ OC iOS面试重点问题(一)

C C++ OC iOS面试重点问题(一) 1.字符串常量需要加\0 2.逻辑运算 位操作(经典:实现两个数的交换) 3.关键字 4.引用和指针的区别和联系 5.如何引用一个已经定义过的全局变量?  答:可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变变量,假定你将那个变量写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错. 5.extern关键字的用法? 答:ext

[转] 上级向的十个iOS面试问题

上级向的十个iOS面试问题 转自 http://onevcat.com/2013/04/ios-interview/ 不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会.对于iOS和Mac开发来说,因为本事还算比较新,企业对于这方面的开发者需求也比较大,所以面试时的要求可能并不是很高,一般能知道一些Cocoa和OC的基本知识也就认为可以了.但是对于一个希望拥有技术力基础的企业的iOS或者Ma

李洪强iOS面试一般性问题

iOS面试一般性问题,学会这些拿offer几率提升90%! 面试题中有一些一般性的问题,通常是会问到的.面试iOS应聘者时,切入点很重要,不同的切入点会导致不同的结果,没有找到合适的切入点也无法对应聘者有一个全面的了解.所以下面的面试问题更多的是提供方向,没有固定的答案,而且可以根据应聘者的回应引出更多有意思深层次的讨论. 注意:以下问题的参考答案均为笔者所答,不代表正确,问题答案因人而异,请根据自己的实际情况回答,若认为不合理,请在评论中指出.下面所有的参考答案,都是笔者站在面试官的角度来分析

iOS面试宝典

前言 本篇文章总结多年来iOS开发人员面试常问到的问题,也希望能够带领刚入门的同志们走入职场.在准备去面试之前,你觉得自己到底有几斤几两呢?看看下面的问题吧!!! 新手必看 下面的文章是笔者推荐大家阅读的: iOS学习路线 iOS开发必懂 做好面试的准备 在收到通知到xxxx公司面试前,我们应该好好阅读下面的文章,做好充分的准备,不打无准备之仗. 我也面试过不少同学,在与他们的交谈中可以看出准备不足,面对一个个简单的问题,答非所问或者说了半天没有说到点上,于是给面试官一种菜鸟的形象. 本人只是本

ios面试技术要点

iOS面试 技术总结点(可参考):多线程 运行时 runloop app框架 几种动画编程 jsonmodel原理 sdwebimage原理 masonry怎么应用及原理 应用框架有哪些 说一下Facebook的flux框架 混合app原理 怎么优化内存 怎么用instruments优化动画效果  KVC/KVO的理解及运用 本地存储的几种方式CoreData问的最多https://www.zhihu.com/question/19604641 这里面很多问题都问过了https://www.zh

ios 面试基础问题

转自http://www.jianshu.com/p/9c83145bb4ba iOS面试 字数2396 阅读2097 评论4 喜欢93 1.#import和#include的区别,@class代表什么? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import 而#import比起#include的好处就是不会引起重复包含 2.谈谈Object-C的内存管理方式及过程? 1.当你使用new,alloc和copy方法创建一个对象时,该对象的保留计数器

iOS 面试集锦2

4.写一个setter方法用于完成@property (nonatomic,retain)NSString *name,写一个setter方法用于完成@property(nonatomic,copy)NSString *name - (void) setName:(NSString*) str { [str retain]; [name release]; name = str; } - (void)setName:(NSString *)str { id t = [str copy]; [na

iOS 面试(高德)

高德iOS面试整理(顺序有些乱) 确实挺对不住面试官的,视频面试,我的这边始终没声音. 1. - (void)testFun { CGRect a ; //-.. } a的内存在堆上,还是栈上? 2.. 如何把一个 CGRect类型的数据放在堆上去? 你能够想到多少种方法? 3.  CGRect a ; [a retain]; 是否能通过编译 4.autorelease pool有用过吗? 对于auto release pool,同一个thread 可以存在多个auto release pool