奇思妙想 · 2024年 4月 22日 0

如何理解分类?

57 次浏览

如果你对语言的某个类不满意,在原本类的基础上,给它新加一些方法并使用,这就是分类。注意,是直接改在原来的类,没有创建子类。

  • ObjC分类被称为category,可以直接扩展已有的类。
  • C#提供Partitial Class扩展已有的类.
  • ObjC 分类不能扩展成员变量,只能扩展方法。同时注意,ObjC 不能用分类的名称创建对象,因为本质上类名还是之前的名称。
  • 仓颉 提供 extend 扩展已有的类成员方法。

分类和原类有同名函数

  • ObjC 分类有原类相同函数,分类优先级更高,会覆盖原类。用此方法,也可以实现个性化。