Atitit. Object-c语言 的新的特性 attilax总结
Atitit. Object-c语言 的新的特性 attilax总结
1.1. Object-C语言由 Brad J.Cox于20世纪80年代早期设计,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总结的更多相关文章
- Atitit.go语言golang语言的新的特性 attilax总结
Atitit.go语言golang语言的新的特性 attilax总结 1. 继承树less 动态接口1 1.1. 按照书中说的,Go语言具有以下的特征,下面我们分别来进行介绍. q 自动垃圾回收 ...
- Atitit dsl exer v3 qb3 新特性
Atitit dsl exer v3 qb3 新特性 /atiplat_cms/src/com/attilax/dsl/DslParser.java V3 支持typeed参数,与简化的notyp参数 ...
- Atitit js版本es5 es6新特性
Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...
- atitit.js 各版本 and 新特性跟浏览器支持报告
atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...
- Atitit.jquery 版本号新特性attilax总结
Atitit.jquery 版本号新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升.尤其是在ie7下: ...
- Atitit js es5 es6新特性 attilax总结
Atitit js es5 es6新特性 attilax总结 1.1. JavaScript发展时间轴:1 1.2. 以下是ES6排名前十的最佳特性列表(排名不分先后):1 1.3. Es6 支持情况 ...
- 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 ...
- Atitit.jquery 版本新特性attilax总结
Atitit.jquery 版本新特性attilax总结 1. Jq1.4 1 2. 1.5 1 3. 1.6 3 4. Jq1.7 3 ⒉提升了事件委派时的性能有了大幅度的提升,尤其是在ie7下: ...
- Atitit. WordPress 4.2.2新特性对比 attilax总结
Atitit. WordPress 4.2.2新特性对比 attilax总结 1. WordPress 2.9带来的新特性 1 2. WordPress3.0最为突出的五个新特征 2 3. WordP ...
随机推荐
- 解决iOS10的Safari下Meta设置user-scalable=no无效的方法
苹果为了提高Safari中网站的辅助功能,屏蔽了Meta下的user-scalable=no功能.所以在iOS10下面,就算加上user-scalable=no,Safari浏览器也能支持手动缩放. ...
- J.U.C并发框架源码阅读(三)ReentrantLock
基于版本jdk1.7.0_80 java.util.concurrent.locks.ReentrantLock 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. ...
- 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}$, 并且能被 ...
- #423 Div2 D
#423 Div2 D 题意 构造一个 n 个节点的树,恰好有 k 个叶子节点 (叶子节点的定义是只与树上的某一个节点存在连边),要求任意两个叶子节点的距离的最大值最小,距离为两个节点间边的数量,输出 ...
- adb 查看android手机中应用的包名和安装位置
1. 查看是否连接手机 adb devices 2. 进入指定的device的shell adb shell 或者 adb -s ********* shell 3. adb 查看所有安装的包 pm ...
- Sum of bit differences among all pairs
This article was found from Geeksforgeeks.org. Click here to see the original article. Given an inte ...
- luogu P1069 细胞分裂
题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...
- 鼠标悬浮tip 显示
鼠标悬浮tip 显示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- 待签名参数按照字段名的ascii码从小到大排序
public static String getSign(Map<String, String> params) { Map<String, String> sortMap = ...
- samba 服务实现在windows共享文件
1. 什么是samba Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到. 是一种在局域网上共享文件和打印机的一种通 ...