iOS工程师面试深入浅出- 物件导向的三大特性?

iOS工程师面试深入浅出- 物件导向的三大特性?

这题乍看之下是很本科系的问题,但事实上,当你在开发的过程中其实一直用到物件导向的概念。因为你平常就是在使用这个“特性”,而没有使用过没有这个“特性”的语言,自然而然就把这个“特性”当作原本就有的东西了。
因此,要暸解物件导向,必须要先了解非物件导向。

Refactor 专案时,会用到物件导向的特性。如果没有这个概念,一样可以写出一个app,只是写出来的程式不会那么“漂亮”。

这题是在问什么?

你对物件导向理解的程度,以及你是如何开发专案的。

面试怎么回答?

理论谁都会背,请以实作的经验说明。

1. 简述物件导向的三大特性

继承,封装,多型

2. 使用这些特性的情境

当物件有相似的 property 或是 method 我可以让子类继承,子类就会有父类的特性。比如我想要客製化UIViewController,那么我可以继承UIViewController,此时我自定义的类别就会有UIViewController的特性。

此时,我自定义的UIViewController,有些property与method不想给外面的人看到,那个我可以利用 access control,让外面的类别无法存取该property 或 method。这就是封装。

继承或让子类别完全拥有父类别的特性,但是有时候我会想要覆写原有的特性,那么我可以overwrite,这就是多型。

3.延伸问题:

swift/OC 可以多重继承吗?

不行,但是可以透过protocol的特性做到类似的效果。

总结:

这题是非常基础的问题,但是也不容易懂。物件导向需要一定的开发经验才会慢慢理解。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章