iPhone 开发入门——从 C/C++ 语言到 Objective-C 语言
2010-02-22 06:15:00 来源:WEB开发网MyClass* MyClass::sInstance = 0;
MyClass::MyClass() : mValue(0)
{
}
MyClass::~MyClass()
{
mValue = -1;
}
int MyClass::GetValue() const
{
return (mValue);
}
void MyClass::SetValue(int inValue)
{
assert(IsValid());
mValue = inValue;
}
bool MyClass::IsValid() const
{
return (0 <= inValue && inValue <= 1000);
}
MyClass* MyClass::GetInstance()
{
if (sInstance == 0) {
sInstance = new MyClass();
}
return (sInstance);
}
Objective-C
#import "MyClass.h"
static MyClass* sInstance = 0;
@implementation MyClass
- (int) getValue
{
return (mValue);
}
- (void) setValue: (int) inValue
{
NSParameterAssert([self isValid]);
mValue = inValue;
}
- (BOOL) isValid
{
return (0 <= inValue && inValue <= 1000);
}
+ (MyClass*) getInstance
{
if (sInstance == 0) {
sInstance = [MyClass alloc];
}
return (sInstance);
}
@end
实例方法
方法前面的“-”是实例方法(类似于C++中的类成员函数)
类方法
前缀为“+”的是类方法(类似于C++中的静态成员函数,或者是全局函数)
类变量
与C/C++语言中的静态变量一样,Objective-C 中的类变量就是以 static 声明的变量。(只在当前定义文件中有效)
如果子类也想参照父类中的类变量的时候,须定义属性参照方法(类方法)。(这与面向对象中的封装概念有所背驰,降低了凝聚度)
单一继承
Objective-C 与 Java 语言一样,都是单一继承。
如果想实现多重继承,可以只用类似Java 中 implements 的方法。(Objective-C 中叫做 protocol)
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››iphone图片拉伸的几种方法
- ››iphone正则表达式的简单使用
- ››iPhone开发Unresolved Symbols CAKeyframeAnimati...
- ››IPhone开发-“此证书是由未知颁发机构签名”解决方...
- ››IPhone开发-整合私钥和证书,生成.p12文件
- ››iPhone应用开发-UIPickerView选取器详解
- ››iphone 获取屏幕的宽度和高度
- ››iPhone读取工程包中的二进制文件
- ››iPhone新手机 不挂YouTube APP
更多精彩
赞助商链接