• OC 类目、协议


    类目:为现有的类添加新方法

    1.需要添加该类的新方法,但是不能继承该类的情况下

    类目使用需要注意的问题:

             1.类目里面不能添加实例变量,但是类目可以声明属性,但必须实现set get 方法,在这两个实现方法里面依然不能使用自己添加的实例方法

             2.类目里添加的方法不能和原类中的方法重名,否则会导致覆盖

             3.一个类可以添加多个类目,但是类目名和方法名不能重复

             4.类目中的方法可以成为原始类的一部分,和原始类方法级别相同,可以被子类继承

    类目的创建与使用:

    File:是类目的名称

    File Type:是类型,这是选择Category

    Class:是填写所要添加类目的类

    //添加后的类目名

    //在.h文件里添加方法-(void)hi;在.m文件实现

    在main文件里调用,记得导入类目文件

    这样,类目就创建并实现好

    隐藏类目(延展):类目的私有方法

    在需要添加类目的类的.m文件里面#import "类名"下面添加

    //这一块就是延展(匿名类目)

    @interface Student()

    //建议把实例变量放在延展里面

    {

        NSInteger _age;

    }//解决需要添加私有方法,但是又不能声明在头文件声明的矛盾

    @property(nonatomic,strong)NSString* name;

    //在这里声明私有方法

    -(void)printHello;

    @end

    这样一个匿名类目就完成了,需要注意的是在main的文件里可以printHello方法不能使用,printHello是私有方法,不能给其他类使用,只能由匿名类目的类去调用

    协议:是一套标准,这个标准里声明了很多方法,但是补关心具体这些方法是怎么实现的,具体的实现是由遵循这个协议的类去完成

    OC里面继承关系是单继承,但有时候我们需要使用多继承,这时候我们就可以使用协议


    File:协议名字

    File Type:类型(选择Protocol)

    //创建Student类,

    Student.h文件

    Student.m

    实现协议里面的方法

    在main文件里面实现

    这样,一个简单的协议就已经实现

  • 相关阅读:
    Centos 7 zabbix 实战应用
    Centos7 Zabbix添加主机、图形、触发器
    Centos7 Zabbix监控部署
    Centos7 Ntp 时间服务器
    Linux 150命令之查看文件及内容处理命令 cat tac less head tail cut
    Kickstart 安装centos7
    Centos7与Centos6的区别
    Linux 150命令之 文件和目录操作命令 chattr lsattr find
    Linux 发展史与vm安装linux centos 6.9
    Linux介绍
  • 原文地址:https://www.cnblogs.com/mojiewei/p/4798857.html
Copyright © 2020-2023  润新知