小马哥视频笔记-OC基础知识

复习一遍OC基础知识,做一个完整笔记
[toc]

OC初步认知

OC是兼容C语言的
OO:面向对象
OOP:面向对象编程

#import和#include的区别

1. #import是OC导入头文件的关键字,#include是C/C++导入头文件的关键字
2. #import会自动导入一次,不会重复导入,#include重复导入会报错
3. #import <>引入系统文件,#import ""导入用户自定义的文件

如何编写类的声明

以@interface开头,以@end结尾,然后在class name对应的地方协商事物名称,也就是类名
注意:

  1. 类名首字母必须大写
  2. OC声明类中,属性必须写在大括号里面
  3. 编写OC属性的时候建议在首字母前面加上_

如何编写类的实现

以@implementation开头,以@end结尾,然后在class name对应的地方写上类名
注意:

  1. 类名首字母必须大写
  2. OC声明类中,属性必须写在大括号里面
  3. 编写OC属性的时候建议在首字母前面加上_

类调用new方法,内部会做三件事

  1. 为类创建出来的对象分配存储空间
  2. 初始化对象中的属性
  3. 返回初始化对象分配的指针地址(使用指针接收地址)

OC类中方法分为: 类方法和对象方法

  1. 类方法用类名调用,对象方法只能用对象调用
  2. OC中的类方法用+表示,对象方法用-表示

类方法和对象方法区别

  1. 对象方法必须用对象调用,类方法只能用类调用
  2. 对象方法可以直接访问属性,类方法不可以直接访问属性
  3. 调用类方法的效率比调用对象方法的效率要高
  4. 类方法和对象方法可以相互调用

类方法的应用场景

如果方法中没有用到属性,就尽量用类方法,类方法的执行效率要比对象方法高,类方法一般用于定义工具方法

面向对象三大特性

  • 封装
  • 继承
  • 多态

实例变量

实例变量修饰符的作用域:从出现的位置到下一个修饰符的出现
默认情况下,都是被保护的@protected

@public 可以在其他类,本类,子类中访问被public修饰的成员变量
@private 不可以在其他类与其子类中进行访问,在本类中可以进行访问
@protected 不可以在其他类中进行访问,在本类与其子类中可以进行访问
@package 介于public和private之间的,

OC中的私有变量/方法

你可能感兴趣的:(小马哥视频笔记-OC基础知识)