您的位置:首页 > 编程语言 > C语言/C++

第01天OC语言(08):第一个OC方法2

2017-07-10 00:00 337 查看
#####二、代码

#import <Foundation/Foundation.h>
#pragma mark 类

@interface IPhone : NSObject
{
@public
    float _model;    // 型号
    int _cpu;        // cpu
    double _size;    // 尺寸
    int _color;      // 颜色
}

-(void)about;

/*
 C语言的函数 :
 没有返回值没有参数的
 没有返回值参数的
 有返回值没有参数的
 有返回值有参数的
 
 OC的方法 :
 没有返回值没有参数的  - (void)text1;
 没有返回值参数的     - (void)text2WithNumber:(int)number;
 有返回值没有参数的   - (int)text3WithNumber;
 有返回值有参数的     - (int)text2WithNumber:(int)number andNumber2:(int)number2; // 多个参数
 */
//  有返回值没有参数的, 读取短信
-(char *)loadMessage;
// 有返回值有参数的, 打电话
//int signal(int number)
//call
// 注意 : OC中的方法如果有参数, 那么每个参数的数据类型前面添加上一个 :
// 注意 : 当前这个有参数的方法 他的方法名称 是 signal :
//          冒号也是方法名称的一部分
-(int) signal:(int)number;

// 有返回值并且多个参数的,发短信
// sendMessage(int number, char *content)
// 下面这个方法名称是 sendMessage::
//- (int)sendMessage:(int)number :(char *)content;
// 为了提高我们的阅读性, OC方法允许我们 给方法给每个参数添加一个表情,说明当前参数的含义
// 注意 : 标签也是方法名的一部分
// 方法名 是 sendMessageWithNumber:andContent:
- (int)sendMessageWithNumber:(int)number andContent:(char *)content;
@end

#pragma mark 实现

@implementation IPhone
// 行为的实现
-(void)about
{
//    NSLog(@"打印本机信息\n");
    // 如果在对象方法里面 想访问该对象的属性, 可以直接写上 _属性名称即可
    NSLog(@"型号 = %f cpu = %i,尺寸 = %f, 颜色 =%i",_model,_cpu,_size,_color);
}

-(char *)loadMessage
{
    char *content = "老婆我们家我做主";
    return "lyh is cool";
}
-(int) signal:(int)number
{
    NSLog(@"打电话 %i",number);
    return 1;
}
/*
- (int)sendMessage:(int)number :(char *)content
{
    NSLog(@"发短息 %i, 内容: %s",number,content);
    return 1;
}
 */
- (int)sendMessageWithNumber:(int)number andContent:(char *)content
{
    NSLog(@"发短息 %i, 内容: %s",number,content);
    return 1;
}
@end

#pragma mark main函数
int main(int argc, const char * argv[])
{
    IPhone *p = [IPhone new];
    p->_model = 4;
    p->_size = 3.5;
    p->_color = 0;
    p->_cpu = 1;
    
#warning 注意 : OC中的NSLog 对C语言的字符串支持不是很好,如果返回的是 中文的C语言字符串 可能输出的是乱码, 也有可能什么都不输出
    [p about];
    char *content = [p loadMessage];
    NSLog(@"content %s",content);
    
    [p signal:10010];
//    [p sendMessage:10010 :"fuck"];
    [p sendMessageWithNumber:10010 andContent:"hehe"];
    return 0;
}


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