10.类别

1.创建类别
     类别是一种为现有的类添加新方法的方式。通常会以“类别名+类别名称”的风格命名。
  1.1类别的缺陷
       类别有两个缺陷。第一是无法向类中添加新的实例变量。类别没有向空间容纳实例变量。第二个就是名称冲突,也就是类别中的方法与现有的方法重名。当发生名称冲突时,类别具有更高的优先级。你的类别方法将完全取代初始方法,导致方法无法不再可用。有些编程人员会在自己的类别方法中添加一个前缀,以确保不会发生名称冲突。
  1.2类别的优势
       在Coco中,类别主要有3个用途:将类的实现代码分散到多个不同文件或框架中,创建对私有方法的前向引用,以及及向对象添加非正式协议。
2.类扩展
      特殊的类别:类扩展。这个类别的特点之一就是不需要名字。特点如下:
      -正如我们之前指出的,它不需要名字。
      -你可以在包含你的源代码的类(也就是你自己的类)中使用它。
      -你可以添加实例变量。
      -你可以将只读权限改成可读写的权限。
      -创建数量不限。
3.非正式协议和委托类别
     Cocoa中的类经曾会使用一种名为委托的技术,委托是一种对象,由另一个类请求执行某些工作。比方说,当在应用程序启动时,AppKit的NSAppliaction类会询问其委托对象是否应该打开一个无标题窗口。NSWindow类的对象会询问它们自己的委托对象是否允许关闭某个窗口。
     最常见的情况是,编写委托对象并且将其提供给其他一些对象,通常是Cocoa框架中的对象。通过实现特定的方法,你可以控制Cocoa中对象的行为。
   3.1委托和类别
      委托强调类别的另一种应用:被发送给委托对象的方法可以声明为一个NSObject的类别。
      创建一个NSObject的类别称为“创建一个非正式协议”。非正式协议只是一种表达方式,它表示“这里有一些你肯能希望实现的方法,你可以使用它们更好的完成工作”。
   3.2响应选择器
      选择器只是一个方法名称,但它以Objective-C运行时使用的特殊方式编码,以快速执行查询。可以使用@selector()编译指令圆括号中的方法名称来指定选择器。


 小结:
   利用类别可以声明非正式协议。非正式协议是NSObject的一个类别,他列出了对象可以响应的方法。非正式协议用于实现委托,委托是一种允许你轻松制定对象行为的技术。
   选择器可以在代码中指定特定的Objective-C消息。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReAdme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 、本项目3比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReAdme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;、本项 3目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReAdme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值