这题乍看之下是很本科系的问题,但事实上,当你在开发的过程中其实一直用到物件导向的概念。因为你平常就是在使用这个“特性”,而没有使用过没有这个“特性”的语言,自然而然就把这个“特性”当作原本就有的东西了。
因此,要了解物件导向,必须要先了解非物件导向。
Refactor 专案时,会用到物件导向的特性。如果没有这个概念,一样可以写出一个app,只是写出来的程序不会那麽“漂亮”。
你对物件导向理解的程度,以及你是如何开发专案的。
理论谁都会背,请以实作的经验说明。
继承,封装,多型
当物件有相似的 property 或是 method 我可以让子类继承,子类就会有父类的特性。比如我想要客制化UIViewController,那麽我可以继承UIViewController,此时我自定义的类别就会有UIViewController的特性。
此时,我自定义的UIViewController,有些property与method不想给外面的人看到,那个我可以利用 access control,让外面的类别无法存取该property 或 method。这就是封装。
继承或让子类别完全拥有父类别的特性,但是有时候我会想要覆写原有的特性,那麽我可以overwrite,这就是多型。
不行,但是可以透过protocol的特性做到类似的效果。
这题是非常基础的问题,但是也不容易懂。物件导向需要一定的开发经验才会慢慢理解。
今天要学习的是观察者模式,它主要的作用是设定一个订阅机制,当被订阅的物件有发生事件时就会去通知所...
这周要开始学习 cli, git, 用文字指令做一些事情,但还没开始写程序。本周要突破的一道难关...
(想直接看题目的话可以移到最後一个标题!) 在准备回答问题前,先复习几个观念: Constructo...
前言 oh!终於要开始学习写 Python 了呢!(被揍),都混了三天,我如果再不开始写 Pytho...
在前面两天简单介绍了一下decision tree的原理,今天来谈谈如何把树变成一片森林~ Ramd...