| 
 
| #pragma mark - 类方法的基本使用 "强调
 1.什么是类方法?
 1>类中以 + 号开头的方法就是类方法
 2>直接用类名就可以调用
 2.类方法的使用注意
 1>类方法不能直接访问属性
 因为类方法不需要创建对象就可以通过类名调用,没有对象,属性就没有意义
 2>类方法内部能直接调用对象方法
 对象方法必须由对象调用,因为类方法不需创建对象就可以通过类名调用
 3>类方法内部是可以创建对象的,通过创建出来的对象,可以调用这个对象的对象方法
 4>对象方法和类方法可以同名,编译器会根据调用来判断调用的是类方法还是对象方法
 
 #pragam mark - 匿名对象
 1.什么是匿名对象?
 匿名对象也是个对象,只不过这个对象没有指针指向
 2.说一说匿名对象在开发中的特点
 1>匿名对象具有一次性的特点,由于没有指针指向对象,所以使用一次后再也找不到了
 2>匿名对象用于临时创建对象调用对象方法
 
 #pragam mark - 封装
 "封装
 1.封装是一种编程思想,目的防止面向对象编程过程中代码块的变动对整个程序的影响
 1>函数的实现写在.c中,函数的声明写在.h,外界不需要知道函数的实现原理,只需要调用即可
 2>方法的实现写在.m中,方法的声明写在.h中,外界不需要知道方法的实现原理,只需要通过创建对象来调用对象方法,或者用类名调用类方法
 
 #pragma mark - 属性的封装规范
 1.只读封装
 1>对于一个对象的某个属性,如果希望在类的外部获取这个对象属性的值,但是不希望在类的外部修改对象的这个属性的值,此时只提供getter方法,不提供setter方法
 这种对于属性的获取/设置的封装叫做只读封装
 2.只写封装 非常少见
 1>
 对于一个对象的某个属性,如果希望在类的外部修改对象的这个属性的值,但是不希望在类的外部获取对象的这个属性的值,此时只提供set方法,不提供get方法.
 这种对于属性的获取/设置的封装方式叫做只写封装.
 3.属性的set/get封装规范
 1>无论类的某个属性是否需要逻辑验证,都需要给这个属性封装标准的get/set方法
 2>对象A中有对象B做属性的时候,仍然需要在类A中对于属性B做对应的get/set的封装
 
 #pragam mark - 类与类之间的关系
 "问题:类与类之间有哪些关系
 1.组合:对象A由其他若干个对象组合而成,这些对象都是对象A的组成部分.(比如人是由头身体组成的....)
 依赖:类A中有一个方法需要对象B作为参数,A依赖于B
 关联:对象A中有对象B作属性,但是对象A不是由对象B组成的(人有一条狗,但是人不是由狗组成的!)
 继承:
 "下面的概念先听懂,随着自己经验慢慢体会
 2.耦合度
 1>耦合度:就是两个类之间的依赖程度
 2>高耦合:就是两个类之间的依赖程度高
 3>低耦合:就是两个类之间的依赖程度低
 
 
 
 3.高内聚:把功能相关的模块封装在一起(性别枚举,生日结构体)
 
 
 "复习
 1.什么是框架
 OC中一个框架就是一个文件夹.这个文件夹中有很多类和其他文件,通过xcode提供的框架,我们可以调用很多苹果写好了的方法/函数/数据类型,加快开发进度
 
 2.如何使用框架
 1>类
 只需要知道框架中某一个类的作用,学习它有哪些属性和方法.
 2>函数/数据类型
 学会使用框架中提供的函数/数据类型.
 
 #pragam mark - static关键字
 "问题: 阐述一下static关键字的用法
 1>static是C语言中的一个关键字,在OC中也可以使用
 2>C语言中的static修饰的局部变量会转换成静态变量,函数执行完毕后这个变量不会被回收,下次再使用的时候直接拿上一次的值来用
 3.C语言中的static修饰全局变量,这个全局变量只能在当前文件中使用
 4.C语言中的static修饰的函数,只能在当前文件中使用
 5.OC中用static修饰的局部变量会转换成静态变量,方法执行完毕后变量不会被回收,下次再使用的时候直接拿上一次的值来用
 6.OC中static不能修饰属性和方法
 
 #pragam mark - self的用法
 1.self是什么
 self是OC中的一个关键字
 关键字:编程语言中预留出来的表示特定含义的一些字段
 2.self用法概况
 1>self这个关键字只能在OC中的类的类方法或者对象方法中出现
 2>在对象方法中出现,就代表调用当前方法的对象
 3>在类方法中出现,就代表当前这个类
 3.在对象方法中出现,就代表当前调用这个方法的对象
 1>什么叫做当前调用对象方法的对象
 对象方法一定是对象调用的,用对象调用的方法叫做对象方法,一定能找到哪一个对象调用了这个对象方法
 "self的使用注意
 1>类方法中的self代表当前类,类是不能调用方法的,所以不能再类方法中用self调用对象方法
 2>类方法中的self代表当前类,类的属性没有意义,不能用self在类方法中访问属性
 3>对象方法中self代表当前对象,所以不能再对对象方法中用self调用类方法
 4>self本质代表一个地址,在对象方法中指向当前对象,在类方法中指向当前类
 
 #pragam mark - 继承
 "强调
 1.什么是继承
 继承是一种创建类的方式,当你创建一个B类,希望B类一创建出来就拥有A的所有属性和方法,就在定义B类的时候让它继承A类
 2.几个名词
 类B继承类A,类B叫做类A的子类/派生类,类A叫做类B的父类/基类
 
 "强调
 继承是类在继承而不是对象在继承
 "问题:你觉得什么时候才应该用继承的方式来创建类?
 当两个类满足is a的关系,当类B创建的对象"是一个"类A创建的对象,此时就应该让B继承A
 只要成员不是所有的子类都拥有的就不应该定义在父类中
 3.继承的特点
 "问题
 用继承方式创建的类有什么特点?
 1.单根性,一个类只能有一个父类
 2.传递性,类C继承类B,类B继承类A,那么类C就会继承类A中的所有属性和方法(即子类拥有父类和父类的父类的所有属性和方法)
 
 | 
 |