Objective-C的理解与特性

一门面向对象的语言

面向对象的语言特性:封装、继承、多态

它既具有静态语言的特性(如C++)

又有动态语言的效率(动态绑定、动态加载等)


具有相当多的动态特性,表现为三方面:

动态类型(Dynamic typing)

动态绑定(Dynamic binding)

动态加载(Dynamic loading)

动态——必须到运行时(run time)才会做的一些事情。

动态类型:

即运行时再决定对象的类型,这种动态特性在日常的应用中非常常见,简单来说就是id类型。

事实上,由于静态类型的固定性和可预知性,从而使用的更加广泛。

静态类型是强类型,而动态类型属于弱类型,运行时决定接受者。

动态绑定:

基于动态类型,在某个实例对象被确定后,其类型便被确定了,该对象对应的属性和响应消息也被完全确定。

动态加载:

根据需求加载所需要的资源,最基本就是不同机型的适配

例如,在Retina设备上加载@2x的图片,而在老一些的普通苹设备上加载原图,让程序在运行时添加代码模块以及其他资源,用户可根据需要加载一些可执行代码和资源,而不是在启动时就加载所有组件,可执行代码可以含有和程序运行时整合的新类。



修改时间:

2016年11月17日09:34:24

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2016年国庆假期终于把此书过完,整理笔记和体会于此。 关于书名 书名源于俄罗斯的演员斯坦尼斯拉夫斯基创作的《演员...
    李剑飞的简书阅读 12,050评论 2 65
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,827评论 25 709
  • 晚上,李美去接晚的儿子放学。刚一踏足补习班的大门,嘈杂声入耳。 “我叫你不好好写不好好学……”女人狠狠的责备之声。...
    以琳阅读 1,839评论 0 1
  • 你是我青春中最青涩的一段回忆,在这段时光中,每当回忆的时候,嘴角总是微微上扬。或许是因为我们不谙世事,怀揣着一份...
    胡闹0923阅读 1,774评论 0 0