zoukankan      html  css  js  c++  java
  • 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文件里面实现

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

  • 相关阅读:
    Tomcat虚拟主机配置
    JSP执行过程
    JDK环境变量配置贺Tomcat环境搭建
    有限域上的运算
    希尔密码(Hill Cipher)的实现
    高精度运算
    统计文本中的单词数的简单脚本
    soj1166. Computer Transformat(dp + 大数相加)
    [转].Python中sorted函数的用法
    soj1564. HOUSING
  • 原文地址:https://www.cnblogs.com/mojiewei/p/4798857.html
Copyright © 2011-2022 走看看