Atitit. Object-c语言 的新的特性  attilax总结

1.1. Object-C语言由 Brad J.Cox于20世纪80年代早期设计,1

1.2. Object-C新增的数据结构:1

1.3. 类扩展1

1.4. 动态特性 Object-C中一个强大的特性就是它的动态因素。2

1.5. 多重继承的偏方  一个类可以实现若干的协议,从这个角度实现了类的多重继承。2

1.6. 实体方法   静态函数  减号“-”  加号“+” 声明2

1.7. 调用方法:Objective-C里面的方法 使用消息(Message)来调用方法。3

1.1. Object-C语言由 Brad J.Cox于20世纪80年代早期设计,

以SmallTalk为基础,建立在C语言之上。1988年,NeXT获得Object-C的授权,开发出了Object-C的语言库和一个名为NEXTSTEP的开发环境。1994年,NeXT公司与Sun 公司联合发布了一个针对NEXTSTEP系统的标准规范,并命名为OPENSTEP。OPENSTEP在自由软件基金会的实现名称为GNUStep。有Linux下的版本。1996年,苹果公司收购了NeXT公司,并将NEXTSTEP/OPENSTEP定为苹果操作系统下一个主要发行版本的基础。并发布了一个相关开发环境,名为Cocoa,内置了对Obejct C的支持。2007年,苹果公司发布了Object-C 2.0,并在iPhone上使用Object-C进行开发。

因此,能够编译Object-C语言可以使用GNUStep和Apple公司提供的SDK,而如果要使用到Cocoa的话,只能在Apple公司的SDK上。

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

1.2. Object-C新增的数据结构:

Object-C了一个可以存储任何类型的数据结构 ----  id数据类型。它是一般对象类型,能够存储任何类型的方法

1.3. 类扩展

Object-C也提供了另外一种在原有类上进行扩展的机制,叫做类扩展。使用这种机制可以在不修改原有类代码的基础上进行类的扩展。经过扩展后的类拥有新的属性或者方法

1.4. 动态特性 Object-C中一个强大的特性就是它的动态因素。

每个对象都保存着它所拥有的一些类属性,包括属于哪个类, 哪个父类,是否响应某个函数等等,因此 Object-C也支持一些处理动态类型的方法。

也因为Object-C 的动态特性,导致了一些常规的编译时性能优化方法都不用能于Object-C,这也是导致了 Object-C的运行性能劣于类似的对象抽象语言(如C++) ,因此一些底层的操作应使用C++或类似的语言进行封装,由Object-C负责高层逻辑的封装。

1.5. 多重继承的偏方  一个类可以实现若干的协议,从这个角度实现了类的多重继承。

由于Object-C不支持多重继承,有一些逻辑类的封装可能无法方便地使用,因此Object-C中提供了协议的机制,一个类可以实现若干的协议,从这个角度实现了类的多重继承。

1.6. 实体方法   静态函数  减号“-”  加号“+” 声明

类中方法的定义:

减号“-”声明的方法为:实体方法(instance method)

加号“+” 声明的方法:类方法(class method);相当于java中的静态函数

@interface Shape : NSObject

{

@private

int var;

@public

Int color;

}

-(void) setColor : (int ) color;

+(void)showMe;

@end

1.7. 调用方法:Objective-C里面的方法 使用消息(Message)来调用方法。

所谓的消息就是一个类或者对象可以执行的动作。消息的格式如下:

[对象或者类名字 方法名字:参数序列];

其中“对象或者类名字”被称作消息的接收器(Receiver),),“方法名字”被称作选择器(Selector)或者关键字(Keyword)。方法名字:参数序列”被称为一个消息(Message),Objective-C在编译的过程当中,编译器是会去检查方法是否有效的,如果无效会给你一个警告。但是编译器并不会阻止你执行,因为只有在执行的时候才会触发消息,编译器是无法预测到执行的时候会发生什么奇妙的事情的

1.8. 协议:protocol;类似于java中接口;

1.9. refer

Object-c语言特性   学步园.htm

快速了解Object-C语言(1)_chase_新浪博客.htm

Atitit. Object-c语言 的新的特性  attilax总结的更多相关文章

  1. Atitit.go语言golang语言的新的特性  attilax总结

    Atitit.go语言golang语言的新的特性  attilax总结 1. 继承树less  动态接口1 1.1. 按照书中说的,Go语言具有以下的特征,下面我们分别来进行介绍.  q 自动垃圾回收 ...

  2. Atitit dsl exer v3 qb3 新特性

    Atitit dsl exer v3 qb3 新特性 /atiplat_cms/src/com/attilax/dsl/DslParser.java V3 支持typeed参数,与简化的notyp参数 ...

  3. Atitit js版本es5 es6新特性

    Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...

  4. atitit.js 各版本 and 新特性跟浏览器支持报告

    atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...

  5. Atitit.jquery 版本号新特性attilax总结

    Atitit.jquery 版本号新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升.尤其是在ie7下: ...

  6. Atitit js es5 es6新特性 attilax总结

    Atitit js es5 es6新特性 attilax总结 1.1. JavaScript发展时间轴:1 1.2. 以下是ES6排名前十的最佳特性列表(排名不分先后):1 1.3. Es6 支持情况 ...

  7. Atitit mybatis 3 3.2 3.3  3.4 新特性attilax总结

    Atitit mybatis 3 3.2 3.3  3.4 新特性attilax总结 1.1. iBATIS 3 内的新特性.html1 1.2. MyBatis团队于2013年2月21日正式发布 M ...

  8. Atitit.jquery 版本新特性attilax总结

    Atitit.jquery 版本新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升,尤其是在ie7下: ...

  9. Atitit. WordPress 4.2.2新特性对比 attilax总结

    Atitit. WordPress 4.2.2新特性对比 attilax总结 1. WordPress 2.9带来的新特性 1 2. WordPress3.0最为突出的五个新特征 2 3. WordP ...

随机推荐

  1. 解决iOS10的Safari下Meta设置user-scalable=no无效的方法

    苹果为了提高Safari中网站的辅助功能,屏蔽了Meta下的user-scalable=no功能.所以在iOS10下面,就算加上user-scalable=no,Safari浏览器也能支持手动缩放. ...

  2. J.U.C并发框架源码阅读(三)ReentrantLock

    基于版本jdk1.7.0_80 java.util.concurrent.locks.ReentrantLock 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. ...

  3. Codeforces Gym 101775D Mr. Panda and Geometric Sequence(2017-2018 ACM-ICPC Asia East Continent League Final,D题,枚举剪枝)

    题目链接  ECL-Final 2017 Problem D 题意  给定$2*10^{5}$组询问,每个询问求$l$到$r$之间有多少个符合条件的数 如果一个数小于等于$10^{15}$, 并且能被 ...

  4. #423 Div2 D

    #423 Div2 D 题意 构造一个 n 个节点的树,恰好有 k 个叶子节点 (叶子节点的定义是只与树上的某一个节点存在连边),要求任意两个叶子节点的距离的最大值最小,距离为两个节点间边的数量,输出 ...

  5. adb 查看android手机中应用的包名和安装位置

    1. 查看是否连接手机 adb devices 2. 进入指定的device的shell adb shell 或者 adb -s ********* shell 3. adb 查看所有安装的包 pm ...

  6. Sum of bit differences among all pairs

    This article was found from Geeksforgeeks.org. Click here to see the original article. Given an inte ...

  7. luogu P1069 细胞分裂

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  8. 鼠标悬浮tip 显示

    鼠标悬浮tip 显示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...

  9. 待签名参数按照字段名的ascii码从小到大排序

    public static String getSign(Map<String, String> params) { Map<String, String> sortMap = ...

  10. samba 服务实现在windows共享文件

    1. 什么是samba Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到. 是一种在局域网上共享文件和打印机的一种通 ...