美文网首页
协议Protocol

协议Protocol

作者: lilinjianshu | 来源:发表于2016-03-03 08:17 被阅读62次

    一、协议的基本概念

    1、protocol它可以声明一些必须实现的方法和选择实现的方法,这与java是完全不同的

    2、在写java1是

    二、Protocol语法格式

    1、定义

    @protocol   协议名称

    //方法声明列表

    @end

    2、类遵守协议

    @interface   类名  :父类<协议名称1,协议名称2,..>

    @end

    三、Protocol与继承的区别

    1、继承之后默认就有实现,而protocol只有声明

    2、相同类型的类可以使用继承,但不同的类型只能使用protocol

    3、protocol可以用于存储方法的声明,可以将多个类共同的方法抽取出来,以后让这些类遵守协议即可

    四、注意:

    1、协议只能声明方法,不能声明属性

    2、父类遵循了每某个协议,那么它的子类也遵循这个协议

    3、在oc中一个类可以遵循一个或多个协议

    4、oc中的类只有一个父类,也就是说只有单继承,但遵循多层继承

    5、协议可以遵守协议,一个协议遵守了另一个协议,就可以拥有另一个协议中的方法声明

    五、基协议

    1、NSObject是一个基类,最根本最基本的类,任何其它类最终都要继承它

    2、NSObjec也是一个基协议

    3、建议每个新的协议都要遵守NSObject协议

    六、@required和@optional关键字

    1、协议中有两个关键字可以控制方法是否要实现(默认是@required)

    2、@requid:这个方法必须要实现(若不实现,编译器会发出警告)

    3、@optional:这个方法不一定要实现

    4、若果没有使用任何关键字修饰协议中的方法,那么该方法默认就是@required

    5、如果协议中的方法用@required来修饰(或什么关键字都没修饰),而遵守协议的类又没有实现该方法,那么会报警

    6、如果用@optional来修饰方法,而遵守协议的类又没有实现该方法,也不会发出警告

    相关文章

      网友评论

          本文标题:协议Protocol

          本文链接:https://www.haomeiwen.com/subject/oignkttx.html