Object C 类的申明、实现和调用

1. 类的申明 

OC是面向对象的C,类的声明依然在.h中进行。用@interface(接口)的方式去申明一个类,相当于Java中的interface(接口)类

// Person.h文件
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
    // 公有属性声明(@public以下的属性为公有属性)
    @public
    NSString * _name;
    int _age;
    // 私有属性申明(@private以下的属性为私有属性)
    @private
    float _weight;
}
// 静态方法声明(+开头的函数申明为静态函数)
+(void)eat;
// 动态公有方法申明(-开头的函数为动态公有)(私有方法即不申明,直接在.m中实现的方法)
-(void)run;
// 有参数方法
-(void)speek:(NSString *)target :(NSString *)content;
// 这个...我也不知道,有别名的 有参数方法吧
-(void)study:(NSString *)content andWith:(int)time andWith:(NSString *)who;

@end

 2. 类的实现

类的实现在.m中进行,用@implementation(实现)去实现.h中@interface申明的类。

// Person.m文件
#import <Foundation/Foundation.h>
#import "Person.h"

@implementation Person
+(void)eat{
    NSLog(@"吃吃吃");
}

-(void)run{
    NSLog(@"泡泡");
}
-(void)speek:(NSString *)target :(NSString *)content {
    NSLog(@"Hello!%@, %@", target, content);
}
-(void)study:(NSString *)content andWith:(int)time andWith:(NSString *)who {
    NSLog(@"Study %@ for %d with %@", content, time, who);
}
@end // @end前面不能有空行

3. 在main.m中使用这个Person类 

// main.m 文件
#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // new 一个Person对象
        Person * p = [Person new];
        // 对象属性赋值
        p->_age = 22;
        p->_name = @"nick";
        // 打印
        NSLog(@"地址%p", p);
        NSLog(@"name = %@",p->_name);
        NSLog(@"age = %d", p->_age);
        // 调用对象方法
        [p run];
        // 调用静态方法
        [Person eat];
        // 无别名有餐方法调用
        [p speek:@"judy" :@"i love you"];
        // 有别名有参方法调用
        [p study:@"English" andWith:30 andWith:@"judy"];
    }
    return 0;
}

tip:有用的话请在右侧点👍哦!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值