zoukankan      html  css  js  c++  java
  • 类别和类扩展

    1、在iOS中,有一种机制可以使用户在没有源码的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。但类别不能添加类的属性和私有变量。类别可以用来扩展Cocoa中类的方法,也可以用来扩展用户自己的类中的方法。当我们查看系统头文件的时候能发现类似@interface NSMutableArray (NSExtendedMutableArray)的类定义,其实这就是类别的定义形式。

    2、类 扩展,它与类别的不同之处在于,括号里不需要写名字。同时也可以在类扩展中定义属性以及私有变量。另一个不同之处在于,类扩展必须与类定义以及类的实现同 时编译,也就是说,类扩展只能针对自定义的类,不能给系统类增加类扩展。类扩展定义的方法必须在类的实现中进行实现。如果单独定义类扩展的文件并且只定义 属性的话,也需要将类实现文件中包含进类扩展文件,否则会找不到属性的set和get方法。

  • 相关阅读:
    面向对象之继承
    面向对象之封装
    面向对象编程
    Centos7.7镜像源配置
    Centos7环境配置
    多表查询v1
    多表查询
    库相关操作
    数据库初识
    数据相关操作
  • 原文地址:https://www.cnblogs.com/zdong/p/4486139.html
Copyright © 2011-2022 走看看