• 类和对象


    类:类的声明、类的实现

    对象:创建、初始化、方法调用

    #import <Foundation/Foundation.h>
    
    //1⃣️类的创建
    //1、类的声明(类名大写、继承NSObject类)
    @interface Iphone : NSObject{
    //    1.1成员变量声明(写在花括号内、变量名_开头、@public)
        @public
        int _type;    // 型号(;空格//空格//注释)
        float _cpu;   // cpu
        double _size; // size
        int _color;   // color
    }
    
    //1.2成员方法声明(-开头;(参数类型);冒号:属于方法名,在形参类型之前;分号结尾;)
    - (void)about;         // 无参数无返回值
    - (BOOL)turnOn;        // 无参数有返回值
    - (void)call:(int)num; // 有参数无返回值
    - (BOOL)sendMessage:(int)num andContent:(NSString*)content;// 有参数有返回值,NSString作为参数 NSString*
    
    @end
    
    // 2、类的实现(这里面只需实现方法)
    @implementation Iphone //竟然把NSString当成NSLog用了
    - (void)about{
        NSLog(@"手机的型号是:%i,cpu是:%.2f,尺寸是:%.2lf,颜色是:%i",_type,_cpu,_size,_color);
    }
    - (BOOL)turnOn{
         NSLog(@"手机开机了");
        return YES;
    };
    - (void)call:(int)num{
         NSLog(@"正在呼叫%i",num);
    };
    - (BOOL)sendMessage:(int)num andContent:(NSString*)content{
         NSLog(@"发短信给:%i,短信的内容是:%@",num,content);
        return YES;
    };
    @end
    
    int main(int argc, const char * argv[]) {
    //    2⃣️、对象的创建
        Iphone *mIphone=[Iphone new];
    //    3⃣️、对象的初始化
        mIphone->_type = 4;
        mIphone->_cpu = 1.5;
        mIphone->_size = 4.0;
        mIphone->_color = 1;
    //    4⃣️、调用成员方法
        [mIphone about];
        [mIphone turnOn];
        [mIphone call:18232555];
        [mIphone sendMessage:18232576 andContent:@"你好"];
        
        return 0;
    }

    思考:

    @public

    为什么要加下划线

  • 相关阅读:
    [leetcode-671-Second Minimum Node In a Binary Tree]
    [leetcode-667-Beautiful Arrangement II]
    棋盘从左上到右下最小初始值
    [leetcode-666-Path Sum IV]
    [leetcode-665-Non-decreasing Array]
    [leetcode-215-Kth Largest Element in an Array]
    LINQ简记(3):子句
    技巧篇:如何重写基类的事件
    技巧篇:结合反射技术实现多算法动态加密
    龙年新作:水印文字添加工具源码摘要
  • 原文地址:https://www.cnblogs.com/imChay/p/5590166.html
Copyright © 2020-2023  润新知