美文网首页
深入浅出Objective-C笔记 (二)

深入浅出Objective-C笔记 (二)

作者: 无聊的呆子 | 来源:发表于2015-11-18 16:45 被阅读46次

    ObjC 里的对象和类


    • 如何创建一个类?
    typedef struct_People{
        double height;
        double weight;
    } People;
    
    void squat ( People *people );
    void stand ( People *people );
    
    • 在Obj-C里是如何定义这个类的?
      @interface People : NSObject //类名People,继承自NSObject类
      {
        double height;
        double weight;
      }
      - ( void ) squat;
      - ( void ) stand;
      @end
    
      减号是对象方法,加号是类方法;
      Objc里类也是一对象;
    
    • Obj-C是如何实现一个类的?
      @implementation People
      - ( void )squat {
          height = 1.0;
      }
      - ( void ) stand {
          height = 1.8;
      }
      @end
    
    • 消息传递

    Obj-C的对象是建立在堆上分配的结构体上的。所以需要用一个指针引用一个对象。

      People *people;
    

    触发一个对象的方法

      [ people stand ];
    
    • 用类创建一个对象
      People *people = [ [ People alloc ] init ];
    
      消息可以嵌套
    
      从内到外依次触发消息
    
      内层方法[ People alloc ];向People类里的对象发送alloc消息,会触发People类的alloc方法。
    
      在ObjC里类本身也一个对象。
    
      调用alloc方法的结果是:创建并返回一个People类的对象。
    
      但是这个对象并没有初始化,只是完成了内存的分配,不能直接使用。
    
      alloc方法是ObjC里所有类都有的方法,当你的类创建时就包含了这个类方法。
    
      外层消息,[ people init ];
    
      首先向新创建的对象people发送一个init消息,触发people对象调用init方法,会完成自身的初始化。
    
    并且把初始化后的对象返回给引用这个对象的指针变量,这时就完成了一个新对象的创建。
    
     init方法其实其实继承来的(暂时默认people对象本身就有init方法)
    
    • 小结

    如何创建一个类

    对象的消息传递

    如何创建一个对象

    相关文章

      网友评论

          本文标题:深入浅出Objective-C笔记 (二)

          本文链接:https://www.haomeiwen.com/subject/lehlhttx.html