美文网首页
iOS关于重载和重写的区别的理解

iOS关于重载和重写的区别的理解

作者: mr_ios_zhang | 来源:发表于2020-01-02 22:00 被阅读0次

    一、oc和swift的对比

    1.严格来说oc是不支持的重载的,这个确实没有毛病的,而且根据个人理解也是不支持的,swift是支持重载的。

    2.oc和swift都是支持重写的。

    二、具体使用的对比

    1.oc中的重载试验(图1):

    图1

    很明显oc里面就是不可以重载,至于没有参数名的写法,例如:- (void)testMethod:(NSString*)str :(NSString*)str1;

    这个本质对于oc来说我认为应该算是两个方法了,方法名字算不得相同(个人浅见)。

    图2

    图2里面重载的时候增加了一个参数,但是其实就等于是改变了函数名(个人理解的方式),所以严格意义上来说不属于重载,在其子类中的重载就是重写了;swift就比较开放了。

    2.关于重写,只能发生在父类和子类之间

    在oc中的和swift中重写的概念一样。

    相关文章

      网友评论

          本文标题:iOS关于重载和重写的区别的理解

          本文链接:https://www.haomeiwen.com/subject/ntfaoctx.html