2018-05-25

2018-05-25  本文已影响0人  helloyue

在ios中,给类添加方法有两种方式:继承和类别。

1. 继承

继承时面向对象的三大特性之一,子类会继承父类的所有方法和属性。

2 类别

类别(其实我更喜欢翻译为分类)是oc的特性,可以在不改变原类及继承父类的前提下,实现对类方法的扩展。

既然继承和类别都可以扩展类方法,那类别存在的理由是什么呢?

1. 不改变原类的条件下,想类添加方法,这点继承做不到。

2. 可以把相关的方法分组到多个单独的文件中,便于管理(“分类”)。

这样是很方便的,所以可以很多项目都可以看大分类的使用。

当然,分类也有他的局限:如果扩展方法名和原类名相同,则会覆盖掉原类的方法,这是要注意的,还一个是分类无法扩展类的属性。

上一篇下一篇

猜你喜欢

热点阅读