Objective-c是面向对象的语言,今天写一个简单的Person类。
Person类仅有三个数据属性和三个方法。数据属性为:name(名字),age(年龄),gender(性别)。方法为它们的获取(getter)方法。
代码如下:
#import <Foundation/Foundation.h>
@interface Person : NSObject {
@public
NSString* name;
int age;
NSString* gender;
}
- (NSString*) getName;
- (int) getAge;
- (NSString*) getGender;
@end
@implementation Person
- (NSString*) getName {
return name;
}
- (int) getAge {
return age;
}
- (NSString*) getGender {
return gender;
}
@end
int main(int argc, char* argv[]) {
Person *person1 = [Person alloc];
person1->name = @"Amy";
person1->age = 19;
person1->gender = @"female";
NSLog(@"%@ %d %@", [person1 getName], [person1 getAge], [person1 getGender]);
}
代码解析:
1. 在Objective-c中,一个类分为两部分,为interface部分(@interface到@end)和implementation部分(@implementation到@end),interface部分包括该类的数据属性和方法签名(method signature,即方法名、返回值类型和参数列表),implementation部分为该类的方法的实现。
2. Objective-c中,- 表示实例方法,+ 表示静态方法,和UML中的加、减号含义不同。
3. 如果类实例用指针表示(*person1),且对应的数据属性为public,那么可用“类实例->数据属性“访问实例的数据属性,例如代码中的person1->name。
4. NSLog和c语言中的printf类似,也提供格式化字符串功能。
输出: