首页 > 代码库 > OC入门,创建一个Person工程,给新手用

OC入门,创建一个Person工程,给新手用

创建一个Person工程

main.m

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[])
{
 
    /*____________________创建person对象______________________*/
    //在OC里面对象使用指针声明的
    //alloc在内存中申请一块内存,用来存储此对象的信息
//    Person *person = [Person alloc];
    //调用init方法初始化一些默认的数据
//    person = [person init];
    
    //以上两步就创建好了一个对象
    //等价与下面的这句
    Person *person = [[Person alloc] init];
    
    //new创建对象,不推荐
//    Person *person1 = [Person new];
    
    /*________________________OC方法的调用__________________________*/
//    [对象/类  方法名];
    
    //类方法的调用
    [Person testClass];
    
    //实例方法的调用
    //不带参数的方法的调用
    [person shopping];
    
    //带一个参数的方法的调用
    [person shopping:3000];
    
    //带两个参数的方法的调用
    [person shopping:400 withPlace:@"大物美"];
    
    NSInteger a = [person shoppingPrice];
    NSLog(@"a:%ld",a);
    
    return 0;
}
Person.h

#import <Foundation/Foundation.h>

//:后面的就是当前类的父类,NSObject是一切类的根类
@interface Person : NSObject {

    //在{}之间定义属性
    //属性、全局变量、实例变量、成员变量
    
    NSInteger age;  //年龄
    
    NSString *name; //名字
    
    BOOL sex;   //性别
    
    //注意:在OC里面不能在定义属性的时候对属性赋值
//    float height = 1.70;   //身高
    
}

/*--------------------设置类的方法---------------------*/

//C语言定义函数
//函数返回值类型 函数名  (形参列表);
//int getSum(int a, int b);

//OC中方法的定义
//方法的类型 (方法的返回值类型)方法名  参数

/*--------------------设置类的方法(实例方法)---------------------*/

//实例方法
//方法名:   shopping
- (void)shopping;   //购物的方法,不带参数


//方法名:  shopping:(注意:“:”是方法名的一部分)
- (void)shopping:(float)price;  //带一个参数的


//方法名:   shopping: withPlace:
- (void)shopping:(float)price withPlace:(NSString *)place;   //带两个参数

//返回类型为整型
- (NSInteger)shoppingPrice;

/*--------------------设置类的方法(累方法)---------------------*/
+ (void)testClass;

@end


Person.m

#import "Person.h"

@implementation Person

//不带参数的方法
- (void)shopping {

    //在实例方法类里面可以用档期类的属性
//    NSLog(@"%@",name);
    
    NSLog(@"购物了");
    
}

//带一个参数的方法
- (void)shopping:(float)price {
    NSLog(@"购物消费了%f元",price);
}

//带两个参数的方法
- (void)shopping:(float)price withPlace:(NSString *)place {

    NSLog(@"在%@购物消费了%f元",place,price);
    
}

- (NSInteger)shoppingPrice {

    NSInteger price = 100;
    
    return price;
}

//类方法
+ (void)testClass {

    //在类方法中无法访问属性
//    NSLog(@"%@",name);
    
    NSLog(@"这是一个类方法");
    
}

@end




OC入门,创建一个Person工程,给新手用