• oc5--方法


    //  main.m
    //  第一个OC类-方法2
    #import <Foundation/Foundation.h>
    
    // 1.编写类的声明
    @interface Iphone : NSObject
    {
    @public
        float _model;
        int _cpu;
        double _size;
        int _color;
    }
    // 注意: OC中的方法, 如果没有形参不需要写(), 而是直接写一个;因为OC方法中的()有特殊的用途, OC方法中的()是用来扩住数据类型的
    - (void)about;
    // 有返回值没有参数的, 读取短信
    - (char *)loadMessage;
    // 有返回值有参数的, 打电话
    // int signal(int number);
    // 注意: 当前这个有参数的方法它的方法名称是  signal: ,有没有冒号是2个方法,冒号也是方法名称的一部分
    - (int)signal:(int)number;
    - (int)signal;
    // 有返回值并且有多个参数的, 发短信
    // int sendMessage(int number, char *content);
    // 下面这个方法的方法名称是 sendMessage::
    - (int)sendMessage:(int)number :(char *)content;
    // 为了提高我们的阅读性, OC方法允许我们给每个参数添加一个标签来说明当前参数的含义,注意: 标签也是方法名的一部分
    // 方法名是 sendMessageWithNumber:andContent:   (参数数据类型用括号括起来,参数的数据类型前面加冒号)
    - (int)sendMessageWithNumber:(int)number andContent:(char *)content;
    @end
    
    // 2.编写类的实现
    @implementation Iphone
    // 行为的实现
    - (void)about
    {
        // 对象方法中访问该对象的属性, 直接写_属性名称,因为这里没有对象,
        NSLog(@"型号 = %f, cpu = %i, 尺寸= %f, 颜色 = %i", _model, _cpu, _size, _color);
    }
    - (char *)loadMessage
    {
        char * content = "老婆我们家我做主";
        return content;
    //    return "wife is god";  返回字符串是char *,
    }
    - (int)signal:(int)number
    {
        NSLog(@"打电话给%i", number);
        return 1;
    }
    - (int)sendMessage:(int)number :(char *)content{
        return 1;
    }
    - (int)sendMessageWithNumber:(int)number andContent:(char *)content
    {
        NSLog(@"发短信给%i, 内容是%s", number, content);
        return 1;
    }
    @end
    
    int main(int argc, const char * argv[]) {
        // 1.通过类创建对象,堆中,栈中内存函数结束是释放,堆中要自己释放。p是堆中字节最小的地址。p称之为Ipone的对象。
        Iphone *p = [Iphone new];
        // 2.修改对象的属性
        p->_size = 3.5;
        p->_color = 0;
        p->_model = 4;
        p->_cpu = 1;
        // 3.获取对象的属性
        NSLog(@"size = %f, color = %i, model = %f, cpu = %i", p->_size, p->_color, p->_model, p->_cpu);
        // 4.如果给对象发消息(如果调用对象的方法)
        [p  about];
        // [对象 消息名称(方法名称)]
        // 注意: OC中的NSLog对C语言的字符串支持不是很好, 如果返回的是中文的C语言字符串可能输出的是乱码, 也有可能什么都不输出
        char *content = [p loadMessage];
        NSLog(@"content = %s", content);
        [p signal:13838338];
        [p sendMessage:1383838333 :"luck"];
        [p sendMessageWithNumber:123456789 andContent:"hi"];
        return 0;
    }
  • 相关阅读:
    利用Openssh后门 劫持root密码
    CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门
    CentOS 7 实现zabbix agent 自动添加,并链接到指定的模版
    CentOS 7 zabbix添加监控服务器
    CentOS 7 Squid代理服务器反向代理
    CentOS 7 Squid代理服务器正向代理-透明代理
    CentOS 7 Squid代理服务器正向代理-传统代理
    CentOS 7 搭建Squid代理服务器
    CentOS 7 配置DHCP中继代理服务
    CentOS 7 配置DHCP
  • 原文地址:https://www.cnblogs.com/yaowen/p/7405981.html
Copyright © 2020-2023  润新知