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 ...
随机推荐
- 实现如下语法的功能:var a = (5).plus(3).minus(6); //2
从汤姆大叔的博客里看到了6个基础题目:本篇是第5题 - 实现如下语法的功能:var a = (5).plus(3).minus(6); //2 解题关键: 1.理解使用(5)和5的区别 2.构造函数原 ...
- Codeforces Beta Round #25 (Div. 2 Only) A. IQ test【双标记/求给定数中唯一的奇数或偶数】
A. IQ test time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- bzoj2440(莫比乌斯函数)
bzoj2440 题意 求第 k 个不是完全平方数(除 1 以外)的正倍数的数. 分析 利用二分法求解,二分 x ,判断 x 是否是第 k 个数即可,那么我们就要计算 [1, x] 有几个符合条件的数 ...
- Palindrome Permutation -- LeetCode
Given a string, determine if a permutation of the string could form a palindrome. For example," ...
- bzoj 1305: [CQOI2009]dance跳舞
题目链接 bzoj 1305: [CQOI2009]dance跳舞 题解 男,女生拆点A1A2,B1B2,拆成两点间分别连容量为K的边,限制与不喜欢的人跳舞的数量 A1连接源点容量为x,B1连接汇点容 ...
- [CTSC2016]时空旅行(线段树+凸包)
应该是比较套路的,但是要A掉仍然不容易. 下面理一下思路,思路清楚了也就不难写出来了. 0.显然y,z坐标是搞笑的,忽略即可. 1.如果x不变,那么直接set即可解决. 2.考虑一个空间和询问x0,通 ...
- 分金币 Uva 11300
题意 给定N个人成环状坐,每个人初始分配Ai的金币,金币总数可以被N整除,每个人可以给左右相邻的人一定数量的金币使得最终每个人的金币数量相同,求转移数量最小的方案所转移的总金币数量. N<=10 ...
- XTU | 人工智能入门复习总结
写在前面 本文严禁转载,只限于学习交流. 课件分享在这里了. 还有人工智能标准化白皮书(2018版)也一并分享了. 绪论 人工智能的定义与发展 定义 一般解释:人工智能就是用 人工的方法在 **机器( ...
- The beta-reports-active Entitlement
Q: How do I resolve the "beta-reports-active" code signing error? A: There are a number o ...
- Android开发必须知道SERVICE的10件事
这些年我在和其他安卓攻城狮交流时经常谈到的一个话题就是Service组件被开发者错误地理解,不管是新手还是老司机.这篇文章就是交流的成果. 这篇文章不会讲解Service的使用方法,这个要去看官方的( ...