zoukankan      html  css  js  c++  java
  • 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.在类方法中可以创建对象,可以访问该对象的实例变量和属性。

    工厂方法                                  

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

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

    •  有参的工厂方法  

     
  • 相关阅读:
    解决org.openqa.selenium.WebDriverException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms org.springframework.beans.BeanInstantiation
    jsp学习---css基础知识学习,float,position,padding,div,margin
    jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
    java 查询 mongodb 中的objectid
    jsp学习---使用jsp和JavaBean实现超简单网页计算器
    jsp学习--JavaBean定义和在Jsp中使用JavaBean
    jsp学习--如何定位错误和JSP和Servlet的比较
    jsp学习--JSP运行原理,九大隐式对象和JSP常用标签
    jsp学习--基本语法和基础知识
    android开发学习---layout布局、显示单位和如何进行单元测试
  • 原文地址:https://www.cnblogs.com/mapanguan/p/4152002.html
Copyright © 2011-2022 走看看