美文网首页
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关于重载和重写的区别的理解

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

  • java面试题

    重载和重写 引用深入理解Java中的重写和重载 重写的条件 参数列表必须完全与被重写方法的相同;返回类型必须完全与...

  • ios 重载和重写

    首先,oc中不完全支持重载,按照重载的严格意义来说。oc不支持重载,但是又可以说oc支持参数个数不同的函数重载 问...

  • JAVA基础之重写和重载

    重写和重载详细区分: Java 重写(Override)与重载(Overload) | 菜鸟教程 核心区分:重写(...

  • iOS复习之重写与重载

    iOS面向对象的三大特征 封装、继承、多态 Swift-重写与重载的使用和比较

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • 面向对象的基本原则

    基本要素: 封装 , 继承 , 多态 多态 : 注意重写和重载 重写: 子类重写父类的方法 重载: 同样的方法名 ...

  • 方法的重写(override/overwrite)

    方法的重载和重写

  • 5.Java重载和重写的区别

    Java 方法重载和方法重写的区别有哪些? 解析:先明白重载和重写的定义。 一、方法重写(0verride) 在J...

  • 02.Java面向对象问题

    目录介绍 2.0.0.1 重载和重写的区别?重载和重写绑定机制有何区别?父类的静态方法能否被子类重写? 2.0.0...

网友评论

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

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