• 1.import和include区别 2.NSLog 和printf区别 3.创建对象做的事情 4. 类和对象方法比较 5 匿名对象优缺点 6. 封装 7.作用域范围 8.id和instancetype 9.自定义构造方法规范 10.nil和Nil及NULL、NSNull区别


    1.import和include的区别;
        import可以防止头文件的重复包含  


    2.NSLog 和printf的区别:
        1,NSLog可以自动换行, 输出调试信息, printf不能.
        2,NSLog 函数的参数是一个NSString 对象
        3,printf函数的参数是一个字符串常量指针

    3.当创建一个对象的时候:Person *p1 = [Person new],做了三件事情:
      1,申请堆内存空间;
      2,给实例变量初始化;
      3,返回所申请空间的首地址;

    4. 类方法和对象方法的比较
      1. 对象方法以减号开头, 可以使用成员变量
      2.类方法以加号开头,不能使用成员变量


    5 匿名对象优缺点 :
      优点: 可以简化代码,方便方法调用;节省内存空间
      缺点: 匿名对象实例化以后,只能正确的使用一次成员变量;


    6. 什么是封装:
      1. 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
      封装的好处:
        1. 将变化隔离。(不管里面怎么变,使用者不需要知道)
        2. 便于使用。(使用者只需按照一定的方法使用就可以了)
        3. 提高重用性。(任何人都可以对已封装好的功能进行操作)
        4. 提高安全性。(由于暴露给使用者的只是一些外在的操作环节,而不是里面本质的东西,所以就提高了对他的维护性,也就是安全性)


    7.作用域范围:
      @public : 作用于所有的类
      @protected: 作用于当前类,子类(派生类)
      @private: 作用于当前类
      @package: 作用框架级别的


    8.id和instancetype类型区别:
      1. id和instancetype都可以用来作为方法的返回值
      2. id可以用来定义类型,instancetype不能用来定义类型
      3. instancetype可以精确返回值类型


    9.自定义构造方法的规范
      (1)一定是对象方法,以减号开头
      (2)返回值一般是id类型或者instancetype类型
      (3)方法名一般以initWith开头  

    10.nil和Nil及NULL、NSNull的区别:

          nil: 是一个对象值;如果我们要把一个对象设置为空的时候就用nil; 
            A null pointer to an Objective-C object. ( #define nil ((id)0) ) 
          Nil :是一个类对象的值,如果我们要把一个Class类型的对象设置为空的时候就用Nil ; A null pointer to an Objective-C class. 
          NULL 是一个通用指针;A null pointer to anything else. ( #define NULL ((void *)0) ) 
          NSNull 是一个对象,它用在不能使用nil的场合;A class defines a singleton object used to represent null values in collection objects

                     (which don't allow nil values). 
          [NSNull null]: The singleton instance of NSNull. 
          [NSNull null]是一个对象,他用在不能使用nil的场合。

  • 相关阅读:
    PHP header的几种用法
    Elasticsearch 学习笔记
    elsearch 安装过程中遇到的错误解决方式
    python常用模块
    python 列表和字段的相关函数
    Nginx+Redis+Ehcache大型高并发高可用三层架构总结
    Docker技术底层架构剖析
    ELK日志分析平台环境部署 (yum安装)
    禁止root直接登陆linux系统
    浅谈Rsync+Inotify实时同步
  • 原文地址:https://www.cnblogs.com/jiayongqiang/p/5094096.html
Copyright © 2020-2023  润新知