• Objective 笔记C(第二天)


    属性本质                    

    •什么是属性  

    在OC中,属性提供了setter和getter方法,本质上属性就是方法,属性的值是由实例变量来保存的。 

    • 属性的本质(一般三个部分组成)

    a.保存属性值的实例变量int _age; 

    b.setter和getter方法的声明

    1.)setter方法:方法名+“set”+属性名并首子母大写 +“:”+和属性类型⼀样的参数,无返回值。

    -(void)setAge:(int)newAge;

    2.)getter⽅方法:方法名和属性名一样,没有参数,返回值类型和属性类型一样。

    -(int)age;

    c.setter方法和getter方法的实现

    setter方法的实现主要用来给属性赋值的; 对象.属性 = 值==>会自动调用setter方法

    getter方法的实现主要用来读取属性值的 ;变量=引用.属性;=>会自动调用getter方法 

    stu.age = 18;//给属性赋值 setter!

    NSLog(@“age:%d",stu.age);//取属性值  getter  

    • 声明式属性                  

    a.定义实例变量

    b.声明式属性

    1).h文件中int属性类型  age属性名 ,自动生成了setter和getter

     @property int age; 

    2).将属性与实例变量关联在一起 .m⽂文件中

    @synthesize age = _age;

    c.属性的使用

    引用.属性 = 值;=>会自动调用setter方法 

    变量 = 引用.属性;=>会自动调用getter方法 

    • IOS5中的属性 属性的声明简化了

    a.省去了实例变量声明,会自动生成实例变量名为:_属性名的实例变量

    b.声明式属性

    1).h⽂文件中 int 属性类型  age 属性名,自动生成了setter和getter!

    @property int age;

    2).将属性与实例变量关联在⼀起 .m⽂件中!

     @synthesize age = _age;

    • IOS6中的属性 属性的声明简化了   

    a.省

    b. 1)保留

    2)省@synthesize age = _age;

    c.保留

    d.属性的演变过程,如果你不满意,可以⾃己重写。

    初始化方法                                  

    • 什么是初始化方法  用来初始化对象的方法。

    •  无参初始化方法   初始化⽅方法都是以“init”开头的,无参的初始化方法叫“init”。

    •  有参初始化方法  有参的都以"initWith..."开头。  

    •  id类型  初始化⽅方法的返回值为"id"类型。(void*)  

    •  self关键字  self代表当前对象或当前类,self就是当前对象的引用。

    (地址)初始化方法  • super关键字  super代表类的父类,[super init]是通知父类去做底层的初始化操作。

    类方法                                      

    •  什么是类方法   只能通过类调用的方法叫类方法。”+"

    •  类方法的定义、类方法与实例方法区别  

    a.实例方法与实例有关系,所以实例方法可以调用、读取实例中的实例变量或属性。

    b.类方法与实例无关系,所以类方法不可以调用、读取实例中实例变量和属性。

    c.在类方法中可以创建对象,可以访问该对象的实例变量和属性。

    工厂方法                                  

    •  什么是工厂方法  生产(创建)对象的方法,叫工厂⽅法。 类中经常会出现⼀些工厂方法,其目的是为了方便创建对象。  

    •  无参的工厂方法   工厂方法的方法名一定以类名开头,注意去除了前缀和首字母要小写。  

    •  有参的工厂方法  

     
  • 相关阅读:
    java9
    java8
    java7
    java6
    java5
    java4
    java-list-分组
    Termux中安装gcc-7/gfortran-7实操过程,安装成功可以编译Fortran,c/c++
    安卓手机牛逼软件Termux中安装Archlinux,安装Jdk
    c++语言的组合类的使用,用组合类的方法计算两点间距离。
  • 原文地址:https://www.cnblogs.com/mapanguan/p/4152002.html
Copyright © 2020-2023  润新知