Objective C2.0学习(十四 变量和数据类型)
来源:互联网 发布:商品套餐 数据库设计 编辑:程序博客网 时间:2024/06/05 00:33
本章讨论的变量的作用域,对象的初始化方法以及数据类型的内容:
类的初始化
Fraction *myFraction = [[Fraction alloc] init];
此处初始化了Fraction类
[myFraction setTo: 1 over: 3];
初始化对象之后为其设置初值的过程通常可合并到一个方法中。
例如,你可以定义一个initWidth::方法,它初始化一个分数,并将其分子和分母设置为两个给定的参数
例如,Foundation框架中的NSArray类包含了以下6个初始化方法:
initWithArra:
initWithArray:copyItems:
initWithContentsOfFile:
...
很可能会用下面语句序列完成数组的空间分配和初始化空间:
myArray = [[NSArray alloc] initWithArray: myOtherArray];
常见的初始化方法都以init开头,可以看到,NSArray的初始化方法遵循了这个管理。
如果类包含了多个初始化方法,其中一个就应该是制定的(designated)初始化方法,并且其他所有初始化方法都应该使用这个方法。
大多数情况下。。init方法,只能初始化自己的实例变量。
基于这个讨论,Fraction类的初始化方法initWith::可能如下
基于这个讨论,Fraction类的初始化方法initWith::可能如下
Fraction.h:
-(Fraction *) initWith: (int) n: (int) d
{
self = [super init];
if(self)
{
[self setTo: n over: d];
}
return self;
}
该方法首先调用了父类的初始化方法,也就是NSObject的init方法。初始化的结果需要指派回self。
完成了Super的初始化(返回的非零值表示初始化成功)后,使用setTo:over:方法设置Fraction的分子和分母。
Fraction.m:
...
Fraction *a, *b;
a = [[Fraction alloc] initWith:1:3];
a = [[Fraction alloc] initWith:3:7];
...
- Objective C2.0学习(十四 变量和数据类型)
- Objective C2.0学习(十四 变量和数据类型)
- Objective C2.0学习(四 数据类型和表达式)
- Objective C2.0学习(四 数据类型和表达式)
- Objective C2.0学习(二 类,对象和方法)
- Objective C2.0学习(三 类,对象和方法)
- Objective C2.0学习(二 类,对象和方法)
- Objective C2.0学习(三 类,对象和方法)
- Objective C2.0学习(一)
- Objective C2.0学习(七 类)
- Objective C2.0学习(八 继承)
- Objective C2.0学习(十 多态)
- Objective C2.0学习(一)
- Objective C2.0学习(七 类)
- Objective C2.0学习(八 继承)
- Objective C2.0学习(十 多态)
- Objective C2.0学习(十二 id数据类型与静态类型)
- Objective C2.0学习(十二 id数据类型与静态类型)
- 【Java Servlet 开发系列之一】在mac系统安装Apache Tomcat的详细步骤
- 【Java Servlet 开发系列之二】创建WebApp详细步骤,通过Servlet实现http简单交互
- Objective C2.0学习(十六 存储类说明符)
- Objective C2.0学习(十五 作用域)
- 服务器安装centos 6.2过程
- Objective C2.0学习(十四 变量和数据类型)
- Objective C2.0学习(十三 有关类的问题)
- URL1
- Objective C2.0学习(十二 id数据类型与静态类型)
- SQLite 设计及概念
- Objective C2.0学习(十一 动态绑定和id类型)
- 【JSP 随笔之一】JSP常用语法和使用总括&&JSP服务器端和客户端代码互相调用
- 性能测试
- 搜索的基本步骤