WEB开发网
开发学院手机开发iPhone 开发 iPhone 开发入门——从 C/C++ 语言到 Objective-C... 阅读

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::Se

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)

上一页  1 2 3 4 5 6 7  下一页

Tags:iPhone 开发 入门

编辑录入:coldstar [复制链接] [打 印]
赞助商链接