OC :类与对象

一、面向对象

面向对象以事物为中心,完成某件事都需要哪些事物来参与,参与该事件的事物都有哪些功能,完成该事件需要这些事物相互协作共同完成,并且完成该事件只是所有事物功能中其中的一个小功能。

二、类与对象的概念和区别

类:具有相同特征和行为的事物的抽象。

对象:对象是类的的实例,万事万物皆对象。

           类是对象的类型。

区分类与对象的黄金法则:当我们看到某个概念的时候脑中想到的是同一个事物的时候,此时就是对象;不然则为类。

三、对象的创建

1、分配内存空间

Teacher *teacher = [Teacher alloc];

2、初始化

teacaher = [teacher init];

以上两步一般合为一步

Teacher *teacher = [[Teacher alloc]init];

五、id与instancentype的区别

1、instancetype可以返回和方法所在类相同类型的对象,id只能返回未知类型的对象。

2、instancetype只能作为返回值和参数,但id还可以用来定义变量。

3、in􏰅􏰂tancet􏰂ype会告诉编译器当前的类型,但id对于编译器却是无类型的,调⽤任何⽅法不会给出错误提示。

4、ini􏰂t⽅法,id和in􏰅tance􏰂type是没有区别的。因为编译器会把id优化成int􏰅􏰂ancet􏰂ype。当明确返回的类型就是当前Cla􏰅􏰅ss时,使用int􏰅􏰂ancet􏰂ype能避免id带来的编译不出的错误情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习目标 1.【理解】对象在内存中的存储 2.【理解】nil和NULL 3.【了解】#pragma mark分组导...
    Hm丶阅读 3,335评论 0 3
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 学习目标 1.【理解】对象在内存中的存储 2.【理解】nil...
    LeaderBiao阅读 1,800评论 0 1
  • 1.整理的对象和类的c实现: 这是大概结构,具体要比这个复杂一些,具体看文件(准备匆忙随后贴上源码): 2.查看D...
    逐逐逐阅读 4,654评论 1 7
  • 一、new方法只要通过一个类调用类的new方法,也就是给类发送一个叫做new的消息之后,系统内部就回做3件事情:1...
    寻回骄傲阅读 3,077评论 0 0
  • --------->实例1、类的 特征、方法 的声明和实现<---------- A--->Teacher 为自定...
    b8028f13eaa2阅读 3,034评论 0 0