您的位置:首页 > 移动开发 > Objective-C

初见Objective—C

2017-02-15 23:56 113 查看

OC的第一门自学课,总结一下:


1.OC中的类其实就是一个结构体,A *a = [A new];那么a这个指针其实就是指向一个结构体。

2.用new方法创建对象,系统会默认做:

一、为此类对象分配存储空间

二、初始化该对象的属性

三、返回该类对象的地址

3.类方法不可以直接访问成员变量,而对象方法可以直接访问成员变量
#import <Foundation/Foundation.h>

//结构体,和类一样
//typedef struct
//{
//    int a;
//}Date;

typedef enum
{
Boy,
Girl
}sex;

//C语言的枚举
//enum personSex
//{
//    man,
//    woman
//};

@interface Person : NSObject
{
@public
int _age;
sex _sex;
NSString *name;

}

-(void)introduceMyself:(int)age andSex:(sex)sex andName:(NSString *)name1;

+(Boolean)answerQuestion:(int)num1 andNum2:(int)num2;

@end

@implementation Person

-(void)introduceMyself:(int)age andSex:(sex)sex andName:(NSString *)name1
{
NSString *personSex;
switch (sex) {
case Boy:
personSex = @"Boy";
break;
case Girl:
personSex = @"Girl";
break;
default:
break;
}
//对象方法可以直接访问成员变量,例如下面就访问了name成员变量
NSLog(@"My name is %@ , I am %i ,and I am a %@",name,age,personSex);
}

+(Boolean)answerQuestion:(int)num1 andNum2:(int)num2
{
if ((num1 + num2) > 10) {
//类方法不能直接访问成员变量,例如_age成员变量
//num1 = num1 + num2 + _age;
return 1;
}
else
return NO;
}

@end

int main(int argc, const char * argv[]) {

Person *p = [Person new];
p->_age = 20;
p->_sex = Girl;
p->name = @"筝风放风筝";

//对象方法
[p introduceMyself:p->_age andSex:p->_sex andName:p->name];

//类方法
[Person answerQuestion:5 andNum2:6];

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  objectivec oc