美文网首页
实例变量可见度

实例变量可见度

作者: 任梦RM | 来源:发表于2016-07-07 15:11 被阅读19次

一、实例变量可见度

  1. public(公有的)

    实例变量可以被任意操作,实际情况中很少使用Public,有以下两个原因:

    1)使用@public关键字,暴露了类内部的细节
    2)不符合面向对象语言的三大特性之一 - 封装

  2. protected(受保护的,默认的)

    实例变量只能在该类和其子类中操作

  3. private(私有的)

    实例对象只能在该类内访问

  4. 思考

    如果在其他类中使用@protected修饰的实例变量

二、方法

  1. 类方法

    只能使用类来调用,在返回值类型的前面加+来标识

    注:类方法中不能使用实例变量

  2. 实例方法(对象方法)

    只能使用对象调用

  3. 方法声明

    格式

    • (返回类型)参数形容词1:(参数类型)参数名1 参数形容词2:(参数类型)参数名2

    方法名呢?

    参数形容词拼接起来就是该方法的方法名

  4. 方法调用

    [对象名或者类名 方法名];

    比如:
    [student sayHi];

    正确表述:
    给student对象发送sayHi消息

    1)student接收到消息,及方法sayHi

    1. student找到sayHi方法,并执行
  5. 定义AodiCar类和MobilePhone类,需求:

  1)实例变量使用默认可见度
  2)添加方法实现对实例变量的操作
  3)任意添加方法并使用

三、自定义初始化方法

1. -(id)init 这个初始化方法只能给实例变量设置默认值,不灵活,我们可以通过自定义初始化方法给实例变量设值

练习:

  1. 给AodiCar类添加自定义初始化方法
  2. 给MobilePhone类添加自定义初始化方法

四、OC中导入头文件的两种方式

1. #import

   1. 导入头文件,即将导入的头文件中的内容,赋值到当前类

   2. <>用于导入类库中的头文件

   3. ""用于导入自定义的类

   4. 功能类似C语言中的#include,但可以避免头文件被重复包含

2. @class

   1. 告诉编译器有这个类,无法导入类的接口内容

   2. 有效避免嵌套引用

五、复合

1. 多个组件组合在一起,形成一个整体,然后使用整体进行工作,这种组合成为复合。

2. OC中,类的实例变量由其他类型组成。

3. 简单的说就是让两个类关联起来就是复合

相关文章

  • 实例变量可见度

    一、实例变量可见度 public(公有的)实例变量可以被任意操作,实际情况中很少使用Public,有以下两个原因:...

  • Object-C实例变量,可见度,方法

    一、实例变量可见度 1. public(公有的) 实例变量可以被任意操作,实际情况中很少使用Public,有以下两...

  • Objective-C 快速入门--基础(一)

    Objective-C 快速入门--基础(一) 1、实例变量的可见度有哪些?对访问变量有什么影响? 所谓的内部,指...

  • 实例变量可见度@protected,@public,@priva

    @protected:其作用范围只能在自身类,子类,外界不可以访问,可以继承,如果不加修饰,默认是@protect...

  • OC复习

    第二节 1.实例变量可见度@public :表示共有的,可以在类的外部和内部操作@protected :表示默认可...

  • Python实例变量和类变量

    Python实例变量和类变量 类变量(类属性): 类变量属于类所有,所有实例共享一个变量 实例变量(实例属性) 实...

  • pro objective-c

    2.2实例变量2.2.1设置访问实例变量的方式2.2.2声明实例变量2.2.3访问实例变量 收获:主要是关注变量的...

  • 2020-04-05 KVC

    课程引入:成员变量、实例变量、属性,区别是什么?---分类不能添加实例变量 成员变量 -- 实例变量 -- 属性 ...

  • 23:python中的类变量、实例变量、类方法、静态方法和实例方

    1、类变量和实例变量 类变量:定义在类里面,实例方法方法外面的变量 实例变量:定义在实例方法里面的变量,常用:se...

  • iOS的KVC底层原理(源码分析)

    先了解成员变量、属性、实例变量 实例变量: class类进行实例化出来的对象为实例对象。成员变量: 在{ }中所声...

网友评论

      本文标题:实例变量可见度

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