Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift – public static vs open static vs public class vs open class?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_450_2@

概述

随着 Swift 3中open关键字的引入,以下是一个方法的有效范围修饰符:open static,public static,open class,public class,但它们的区别究竟是什么?我知道public应该相当于Java中的public final,允许重写开放类方法和变量,但是公共类func或open static func是什么意思?它们是公共静态函数的同义词吗?即所有3个实现
@H_450_2@
@H_450_2@ @H_450_2@
随着 Swift 3中open关键字的引入,以下是一个方法的有效范围修饰符:open static,public static,open class,public class,但它们的区别究竟是什么?我知道public应该相当于Java中的public final,允许重写开放类方法和变量,但是公共类func或open static func是什么意思?它们是公共静态函数的同义词吗?即所有3个实现都不允许子类覆盖?在特定情况下,4种不同排列中的每一种都有独特的优势吗? @H_450_2@
@H_450_2@
这个问题不必要地复杂,因为你比较两个变量(开放对公共和静态与类)的笛卡尔积的成员,而不是分别询问这两个变量.

这不是开放静态vs公共静态vs开放类vs公共类的问题,而是开放vs公共和静态vs类.它们是两个正交的维度.

公开对公众

上市:

在模块中,公共访问说明符允许访问和覆盖.

从模块外部,公共访问说明符允许访问,但不允许覆盖/子类.

打开:

在模块中,开放访问说明符允许访问和覆盖.

从模块外部,开放访问说明符允许访问,并允许覆盖/子类.

静态与类

静态的:

静态成员(方法属性)是绑定到其定义的特定范围(类/结构/枚举)的成员.它的名称是这样的,因为始终静态调度对这些成员的访问.这相当于Java的静态.目标C与此无关.

类:

类成员是绑定到类或其子类的成员.类成员可以被子类覆盖.因此,它们在一般情况下是动态调度的,尽管在某些情况下优化器可以对类成员的访问进行虚拟化. Java与此无关.这相当于Objective C的class()方法.

@H_450_2@@H_450_2@

大佬总结

以上是大佬教程为你收集整理的swift – public static vs open static vs public class vs open class?全部内容,希望文章能够帮你解决swift – public static vs open static vs public class vs open class?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。