一、面向对象
面向对象以事物为中心,完成某件事都需要哪些事物来参与,参与该事件的事物都有哪些功能,完成该事件需要这些事物相互协作共同完成,并且完成该事件只是所有事物功能中其中的一个小功能。
二、类与对象的概念和区别
类:具有相同特征和行为的事物的抽象。
对象:对象是类的的实例,万事万物皆对象。
类是对象的类型。
区分类与对象的黄金法则:当我们看到某个概念的时候脑中想到的是同一个事物的时候,此时就是对象;不然则为类。
三、对象的创建
1、分配内存空间
Teacher *teacher = [Teacher alloc];
2、初始化
teacaher = [teacher init];
以上两步一般合为一步
Teacher *teacher = [[Teacher alloc]init];
五、id与instancentype的区别
1、instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象。
2、instancetype只能作为返回值和参数,但id还可以用来定义变量。
3、intancetype会告诉编译器当前的类型,但id对于编译器却是无类型的,调⽤任何⽅法不会给出错误提示。
4、init⽅法,id和intancetype是没有区别的。因为编译器会把id优化成intancetype。当明确返回的类型就是当前Class时,使用intancetype能避免id带来的编译不出的错误情况。