zoukankan      html  css  js  c++  java
  • OC语言中类目,延展,协议

    一.类目

    指向已知的类中添加新方法,不破坏封装性。已知类可以是自定义的类和系统的类。

    1.类目的实现和声明

    建一个学生类,并增加类目

    (1).声明(是在Student+Working.h中)

    必须引入原类,这里是Studnet类

    (2)  .实现(是在Student+Working.m中)

    注意引入

    2.类目的使用

      i.不能再类目中添加实例变量

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

      k.不能随意重写类目的方法

    3.类目的局限性

      i.如果在类目中重写父类的方法可能导致super消息的断裂,因为在类目中的方法优先级高于父类。

      j.无法在在类目中添加实例变量。

    二.延展

    通过在自己的类的实现文件中添加添加类目来声明私有方法,延展相当于一个匿名的类目。

    1.声明

    在studnet.m文件中,在@implementation之上,方法是不需要实现的

    延展不提供名称表示必须实现,提供名称可以不实现。

    2.实现

    在studnet.m文件中,在@implementation和@end中实现方法。

    以上在main.m中调用并打印的结果如下:

    三.协议

    声明一些方法,让别的类来实现,也可以为类增加方法

    1.声明一个协议

    文件中

    2.在导入协议的头文件

    3.在文件中采用协议

    4.并在文件中实现协议中的方法

  • 相关阅读:
    Js时间处理
    Css 显示删除条目效果
    vue权限控制菜单显示的简单实现
    js取对象的属性值循环
    标题的内容响应式设计
    将一个字符串当做一个方法名或对象的key
    JSON序列化和解析
    import 与export详解
    使用flask-mail扩展发送邮件
    正则表达式练习-计算器实现
  • 原文地址:https://www.cnblogs.com/zhang-jin-guo/p/4533865.html
Copyright © 2011-2022 走看看