1.声明式属性
    a.实例变量
    b.声明属性
        自动生成setter/getter方法
        .h ->@property 属性类型 属性名;
        .m ->@synthesize 属性名 = 实例变量名;
    c.点语法
2.IOS5中的属性
    a.实例变量  省
        会自动生成实例变量,实例变量名 等于 _属性名
    b.声明属性
        @property 属性类型 属性名;
        @synthesize 属性名 = 实例变量名;
    c.点语法
3.IOS6中的属性
    a.实例变量 省
    b.声明属性
        @property 属性类型 属性名;
        @synthesize 属性名 = 实例变量名; 省
    c.点语法
总结:
    a.实例变量 省
    b.声明属性
        @property 属性类型 属性名;
        @synthesize 属性名 = 实例变量名; 省
    c.点语法

4.初始化方法
    创建对象的时候,也需要进行初始化操作。
    如果进行默认值的初始化,调用无参的初始化方法。
    如果进行指定值的初始化,调用有参的初始化方法。
    语法规则 :
    无参的初始化方法,与生俱来就拥有,可以不用自定义。
    -(id)init{
        self = [super init];
        if(self){

}
        return self;
    }    
    有参的初始化方法,只能自定义。
    -(id)initWithAge:(int)age andSex:(char)sex{
        self = [super init];
        if(self){
            对属性值的初始化;
        }
        return self;
    }
5.id类型
    任意类型指针,与C语言中的void*使用相似。
    仅仅指向内存中的对象,并不关注内存中数据类型。
    id类型也不能直接使用,如果使用必须做类型转换操作。
        类型转换是有风险的,引用类型必须与空间类型相匹配。
    id类型只能指向(引用)对象所在的内存区域。
6.super关键字
    super关键字代表一个类的父类。
    可以在子类中调用父类中的方法,此时使用super关键字。
    [super init];真正的初始化操作由父类解决。
7.OC中的方法
    方法分为两种:
    a.实例方法
        实例方法只能通过实例(对象)来调用。
        语法规则 :
        -(返回值类型)方法名; -符号 代表实例方法
        实例方法解决与实例有关的相关操作。(数据信息)
        实例方法经常用来处理内存中的数据。
    b.类方法
        类方法只能通过类来调用。
        语法规则 :
        +(返回值类型)方法名; +符号 代表类方法。
        类方法解决与类信息相关的相关操作。(类代码信息)
        类方法经常用来处理与代码相关的操作。(开辟内存空间大小)
        作用:分配内存空间时,经常使用类型方法。
8.self关键字
    self关键字,不但可以在实例方法中使用,也可以在类方法中使用。
    在实例方法中使用self关键字,代表当前实例。
        在当前实例中,如果需要调用其它的实例方法。
        [self otherMethod];
    在类方法中使用self关键字,代表当前类。
        在当前类,如果需要调用其它的类方法。
        [self otherMethod];
        [类 otherMethod];
        在类方法中,是不可以调用实例变量,当然也不可以调用实例方法,当然也不可以调用属性。
        类方法主要用来创建对象。
9.工厂方法
    用来创建对象的。
    创建对象更简单。
    工厂方法分为:
        无参的工厂方法:只会创建一个默认值的对象。
        有参的工厂方法:会创建一个指定值的对象。
    工厂方法命名:
        类方法
        方法名:去掉类的前缀,首字母小写。
        (+)string;
        (+)stringWith… and…;
    工厂方法需要自己写。

NSString -> NS前缀(公司名缩写,二、三个字母组成,并大写) String 类名
    TRString -> TR(tarena) String类名
    HW… -> HW(helloWorld)

OC中属性及方法的更多相关文章

  1. js中属性和方法的类型和区别

    对象的属性:私有属性(var).类属性(静态属性).对象属性(this).原型属性(prototype). 对象的方法: 私有方法(funtion).类方法(静态方法).对象方法(this).原型方法 ...

  2. Java继承中属性、方法和对象的关系

    大家都知道子类继承父类是类型的继承,包括属性和方法!如果子类和父类中的方法签名相同就叫覆盖!如果子类和父类的属性相同,父类就会隐藏自己的属性! 但是如果我用父类和子类所创建的引用指向子类所创建的对象, ...

  3. 为什么Nhibernate中属性和方法必须Virtual的

    如果你曾经用过NHibernate 2.0或者更高的版本,那您一定碰到过下面的错误:NHibernate.InvalidProxyTypeException: The following types ...

  4. python中类中属性和方法的具体定义方法和使用

    1. Python中类中特性分成属性和方法 属性和方法都分为私有和公有的,私有的只可以在本类中使用外部是无法访问的 2. 定义属性(成员变量)的语法格式(公有属性/私有属性) class 类名: de ...

  5. OC中属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?

    此次只做简单说明,不做代码演示! 1> readwrite:同时生成get方法和set方法的声明和实现 2> readonly:只生成get方法的声明和实现 3> assign:se ...

  6. OC中的私有方法

    1.不写在.h文件中 2.不写在.m文件中 一.私有方法: 没有在.h文件当中进行声明的方法在OC中都被称为私有方法 私有方法子类是无法继承到的

  7. OC中自定义init方法

    ---恢复内容开始--- 我们知道,在函数中实例化一个对象,大多数会同时进行初始化,如 Person *p =[ [Person alloc]init]; 此时已经进行了初始化,使用init方法,那么 ...

  8. 网络与多线程---OC中多线程使用方法(一)

    小编在此之前,通过一个小例子,简单的形容了一下进程与线程之间的关系,现在网络编程中的多线程说一下!!! *进程的基本概念 每一个进程都是一个应用程序,都有自己独立的内存空间,一般来说一个应用程序存在一 ...

  9. php中属性和方法的修饰符

    <?php class A{ private function do1(){ echo "do1 called"; } protected function do2(){ e ...

随机推荐

  1. 网络流-最大流 模板(poj 1273)

    #include<cstdio> #include<iostream> #include<cstring> #include<queue> #defin ...

  2. android 的四种枚举Context.MODE_PRIVATE

    标签: mode_private Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加 ...

  3. 防止黑客对服务器IP地址的攻击

    下面的参数都是系统默认的: [root@ok etc]# cat /proc/sys/net/ipv4/conf/eth0/accept_source_route [root@ok etc]# cat ...

  4. TCP的长连接和短连接

    TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP. ...

  5. Java Hour6

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为5 Hour,请各位不吝赐教. Hour6 Jav ...

  6. python网页爬虫

    1. 静态页面爬取 这类最简单啦,右键->查看页面源码时,想下载的信息都能够显示在这里,这时只需要直接down页面源码,代码如下: # Simple open web import urllib ...

  7. Objective-C专题,是学习iOS开发的前奏(转)

    第一个OC的类 来源:http://www.cnblogs.com/mjios/archive/2013/04/06/3002814.html 本文目录 一.语法简介 二.用Xcode创建第一个OC的 ...

  8. JVM的基本结构

    首先,当一个程序启动之前,它的class会被类装载器装入方法区,执行引擎读取方法区的字节码自适应解析,边解析就边运行(其中一种方式),然后pc寄存器指向了main函数所在位置,虚拟机开始为main函数 ...

  9. 简单几何(线段相交+最短路) POJ 1556 The Doors

    题目传送门 题意:从(0, 5)走到(10, 5),中间有一些门,走的路是直线,问最短的距离 分析:关键是建图,可以保存所有的点,两点连通的条件是线段和中间的线段都不相交,建立有向图,然后用Dijks ...

  10. Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后使用 ObjectContext对象

    Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后的继承对象为DbContext,以前的熟悉的ObjectContext对象不见了,当然使用ObjectConte ...