Objective-C,如何在不使用类继承的状况下,扩展已有类的实现

在Objective-C 2.0中,有2种办法能够在不使用类继承的状况下,扩展已有类的实现。一种是分类(Category),另外一种是类扩展(Class Extensions)。继承

前者能够在没有已有类的源代码的状况下扩展类的实现。能够定义新的方法,但不能定义实例变量。io

后者必须有已有类的源代码才能实现扩展。可是相比分类,类扩展还能够定义实例变量,而且隐藏这些信息。也就是说,类扩展是一种定义私有变量和私有方法的手段。变量

相关文章
相关标签/搜索