zoukankan      html  css  js  c++  java
  • Objective-C中类和对象的介绍

    知识点

    1.类的介绍

      类是对象的类型,对象是类型的实例。

      实例变量:用来区分同一类的不同对象,是描述对象用的。实例变量可以是各种类型:基本数据类型、指针、复合类型、其他类。

      实例方法:用来操作一个类的对象的函数,实例方法是给外部的访问接口。

      在OC中,使用#import包含头文件。防止头文件被重复包含。

    2.类的声明

      @interface className:parentClass<protocol,..>

      {

    •   //实例变量的声明

      }

      method declarations //方法的声明

      @end

    3.方法的声明:

      mType(returnType)name:(type)param name1:(type1)param1….

      方法类型 返回值类型 标签名 参数类型 参数与名字

      例子:-(id)initWithX:(int)_x andY:(int)_y;

      • +(int)allNum;

      对象方法:-号开头,只能由对象来调用,对象方法中能访问当前对象的实例变量。

      类方法:+号开头,只能由类来调用,类方法中不能访问实例变量。

    4.消息机制

      OC中发送消息的一般格式:[receiver message];

      [实例对象 实例方法];

      [类    类方法];

    5.属性声明

      声明property的语法为:@property(参数1,参数2) 类型 名字;

      例子:@property(nonatomic, retain) Circle *circle;

      其中参数主要分为三类:

      读写属性:(readwrite/readonly)

      setter语意:(assign/retain/copy/strong/weak)

      原子性:(atomic/nonatomic)

      各参数意义如下:

      readwrite:产生setter/getter方法;

      readonly:只产生getter方法;

      assign:默认类型,setter方法中实例变量直接赋值,不进行retain操作,主要操作基本数据类型。

      retain:浅拷贝,对对象的内存地址的复制,让目标对象指针和源对象指向同一片内存空间。

      copy:深拷贝,拷贝对象的具体内容到一块新开辟的空间。

      strong:arc中的新属性,类似retain,多个指针指向同一块内存时,只要有一个指向该内存,那么内存就不会被释放。

      weak:arc中的新属性,类似assign,多个指针指向同一块内存时,只要有一个不指向该内存,那么内存就会被释放。

      nonatomic:禁止多线程,提高性能。

      atomic:在使用多线程时,为了防止两个线程相互等待对方导致死锁,用atomic,但是会消耗一定资源。

  • 相关阅读:
    MFC OnOk(),OnCancel(),OnClose(),OnDestroy()的区别总结
    MFC中的Invalidate、OnDraw、OnPaint函数的作用
    MFC中和定时器使用
    SwapBuffers的等待,虚伪的FPS(转)
    OpenGl常用函数说明
    Win7_Ultimate + VS2010 + openGL_MFC单文档应用开发框架搭建步骤
    OpenGL模型视图变换、投影变换、视口变换的理解
    不同电脑的开机启动项
    第一百二十三节,JavaScript错误处理与调试
    第一百二十二节,JavaScript表单处理
  • 原文地址:https://www.cnblogs.com/s-y-j/p/5754680.html
Copyright © 2011-2022 走看看