A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Mark 01 匿名对象

1.匿名对象
  • 创建一个对象,不使用指针存储这个对象的地址
  • 调用new方法去创建对象,但是没有使用指针来接收这个方法的返回值,这个对象就叫做匿名对象

2.如何使用匿名对象
  • [PHHuman new] ->_name = @“Mike”;

3,匿名对象的特点
  • 因为匿名对象没有名字,所以这个对象只能使用一次,创建出来时即使用

Mark 02 封装

1.封装
  • 将数据的状态和行为封装在一个类中,类中有很多复杂的实现,对于外部而言无需关心,我们只需要知道这个类是什么作用,怎么用.

2.使用setter方法来对属性赋值做逻辑验证
  • setter方法是对象方法
  • 一定没有返回值
  • 名字必须以set开头,再跟上属性的名字,去掉下划线,首字母大写
  • 一定有参数,参数类型和属性的类型一致
  • 参数名字和属性名字保持一致,去掉下划线
  • 在方法的视线中,判断参数的值是否符合逻辑,如何符合则赋值,若不适合,可以选择给一个默认值
3.使用getter方法获取对象的属性值
  • getter方法是个对象方法
  • 一定有返回值,返回值类型和属性的类型一致
  • 名字就是属性的名字去掉下划线
  • 一定没有参数
  • 直接rerurn当前对象属性的值
Mark 03 关系
1.组合关系
  • 对象A有其他若干个对象组合而成,这些对象是对象A的一个部分
2.依赖关系
  • A类中有一个方法需要对象B做参数,此时对象A和对象B就是依赖关系,A依赖于B
3.关联关系
  • A作为B的属性,但B不是由A组合而成
Mark 04 士兵突击

Mark 05 Static关键字
1.在C语言中
  • 修饰局部变量,将局部变量变为静态变量
  • 修饰全局变量,将全局变量静态变量
  • 修饰函数
2.在OC中
  • 不能修饰类的属性
  • 不能修饰方法
  • 可以修饰局部变量,效果和在C中一样

Mark 06 Self关键字

1.self关键字可以用在对象方法和类方法中
  • self是一个指针
    • 在对象方法中,self指向当前对象
    • 在类方法中,self指向当前类
    • 在对象方法中,可以使用self关键字来显示的访问当前对象的成员
      • 可以使用self关键字显式的访问当前对象的属性
      • 可以使用self关键字显式的访问当前对象的其它的对象方法
    • 在对象方法中使用self的场景
      • 必用场景
        • 如果方法中存在和属性名相同的局部变量,这个时候直接写这个变量名的访问的是这个局部变量,如果你就是要访问属性,就必须使用self
        • 在对象方法中如果要调用当前对象的其它的对象方法,就必须使用self. [self 其它方法名];否则不行,如果你创建对象,调用这个对象的方法,那就不是当前对象的方法了
      • 选用场景
        • 在方法中如果没有和属性名相同的局部变量,那么要访问这个属性,那么可以使用self,可以直接访问
    • self在类方法中,self也是一个指针,这个指针指向当前类在代码段中的地址
      • 如何拿到类在代码段中的地址
        • 通过查看对象中的isa指针
        • 在类方法中查看self的值
        • 调用对象的方法class,也可以得到这个对象所属的类的地址
        • 调用类方法class,也可以得到这个类的地址
    • 在类方法中,self代表当前这个类——>self和当前类完全等价
    • 在类方法中,可以使用self来代替当前类(声明变量除外)

Mark 07 继承的简单使用

1.继承的目的:子类想要拥有父类中的成员,但不想自己定义,就可以从父类继承

2.继承的步骤
  • @interface 类名 :  父类
  • @end
  • @implementation 类名
  • @end
3.专业术语
  • @interface Person : Human
    • Person类从Human类继承,Person类是Human类的子类,Human类是Person类的父类
    • Person类从Human类派生,Person类是Human类的派生类,Human类是Person类的基类

4.继承是类的继承而不是对象的继承

5.不要为了继承而继承
  • 只有满足is a关系的两个类才可以继承

6.只要成员不是所有子类都拥有的属性,就不应该定义在父类中

7.OC继承的特点
  • 单根性  ———有且只有一个父类
  • 传递性  ———多级继承


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马