ios学习第三天(一)浅谈ios面向对象

经过昨天对框架中一些基本类的学习,和对象的使用,已经大致了解什么是对象,能干些什么,今天决定学习的内容是面向对象的大部分内容。要学习的是,怎么定义一个类,类的方法和属性,类的继承等。

由于是工作要求,我原计划一周之内,可以进行ios开发。因此需要很快的学习速度,有好多内容写的很简略,毕竟一边学,一边练习,还要一边写博客,很耗费时间。写这个系列的文章,旨在给有其他开发经验的想学习ios的程序员(媛)们一个展示一下,我的学习历程,仅仅作为参考。作为一个程序猿,应该有开放的心态。学习的成本很高,希望我走过的弯路,其他和我情况一样的程序员(媛)们不要再走。节约人类总时间,加快人类进步速度。(哈哈哈,这句话说的好伟大,我都被自己感动了。||这句话说的好虚伪,我自己都不愿意相信)。

面向对象中有一些重要概念:类,父类,基类,子类,属性,方法,公有,私有等。

面向对象学习什么?封装,继承和多态。这三个词语是前人高度的总结和概括,我理解却说不清楚,就从其他地方copy一下它们的概念,不再重复造车轮了。


1.封装

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。在电子方面,封装是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接。


2.继承

继承是面向对象语言的重要机制。借助继承,可以扩展原有的代码,应用到其他程序中,而不必重新编写这些代码。在java语言中,继承是通过扩展原有的类,声明新类来实现的。扩展声明的新类称为子类,原有的类称为超类(父类)。继承机制规定,子类可以拥有超类的所有属性和方法,也可以扩展定义自己特有的属性,增加新方法和重新定义超类的方法。


3.多态

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。


(以上3个概念均引用于百度百科)


举几个例子,来说明封装继承和多态。

1.封装

一条鱼,一条狗,可以把它们自身理解为封装。狗有它的属性,2只眼睛,4条腿,上亿个细胞,骨头块数。狗有它的行为,走,叫,吃,喝,求偶等行为。支撑它这些行为的有内脏的运作,胃消化,肝解毒,肾排毒,肺呼吸,有些属性,我们看不到,有些可以,有些行为,也看不到,有些却可以,这些属性,行为组成了一条狗,也可以说,把这些属性和行为封装成了一条狗。

2.继承

还拿狗举例子,一条狗和它爹长得是一模一样,这条狗发生了一个特殊的变异,多了一个器官,这个器官可以吸收天地灵气,以至于这条狗,可以利用这个器官来修仙,并利用灵力进行飞翔,发动一些技能。这条狗(super dog),继承了它爹的功能,可以走,叫,吃,喝等行为,但是又多了一些神器的行为(修仙,飞翔,发动一些技能)和属性(那个特殊的器官),因为继承,它变的功能更多,更强大。

3.多态

这个例子要不要还用狗举例子呢,当然要了,里面有狗,哈哈哈。动物包含很多,其中有狗,猫等。当你看见一只兔狲(读音同孙),但是你并不知道它是什么东西,你可以说它是动物,(一个兔狲在那边玩耍,你可以说这只小动物在那边玩耍。),猫,狗都可以用动物来指代,这是多态的一种表现。狗可以叫,猫也可以叫。一只动物来了,它的叫声是喵喵~,又一只动物向我们走来,迈着矫健的步伐,昂首挺胸,我喊了一句,小动物辛苦了,动物叫到旺旺~应该不会有人会问为什么同样是动物,叫声为什么不一样吧。因为动物成员众多,动物是对所有动物的一种概括。不同种类的动物,行为不一定相同。可以说,猫继承了动物,狗也继承了动物。

这里给出为什么总拿狗举例子原因,下面是谷歌deep dream处理后的图片,几乎所有被它处理后的图片,上面都会有狗,我也想知道为什么,总是有狗。




再讨论最后一个问题:先有动物还是现有狗(先有父类还是先有子类)

这个答案不是很确切的,先有狗。动物是从大量的生物中,对行为,属性进行分类,总结出的概念。其中恰巧参考了狗这种生物。因此先有狗。开发人员刚开始思考了一些类,后来发现这些类有一部分共有的属性和方法,就把这些共性,放入了一个新的类,然后让那些类继承这个类,这个高度概括的类,称为父类。因此先有子类,后有父类。

后有狗,之前已经从大量其他动物中,总结出动物的概念,后来发现一种新的动物,起名曰狗。好多框架中,前辈(大神)们已经总结出来一些类,这些类,不完全满足我们的要求,因此我们新创建一个类,继承了某个(某些,单继承只继承一个,多继承,同时继承多个)类,站在他们的肩膀上,我们可以做的更多。因此,先有父类后有子类。

人类自古以来擅长总结,概括。这些让人类飞速进步,先在实践中总结出一些概念,之后又借助这些概念指导实践,实践中发现概念的不全面,或者是错误,之后有对这些概念进行修改或者摒弃。一次就写出很完美的类很难,需要不断修正,这是一种规律。违反规律的,揠苗助长,只能造成一个悲剧的结果。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值