不可变类型与可变类型
在编程中,类型是指变量所属的类别或数据结构。根据修改方式,这些类型可以分为不可变类型和可变类型。
不可变类型
不可变类型不允许在分配后修改其内容。相反,它们用包含更新数据的新对象替换自己。 Float 是不可变类型的一个示例。例如,创建名为 RoundFloat 的新 float 子类(如提供的代码中所示)不会更改类型的不变性。这是因为 new 方法负责创建对象的新实例,并且不会修改现有对象。
可变类型
可变另一方面,类型可以修改其内存中的内容。这允许原始引用指向更新后的对象。在提供的示例中,SortedKeyDict_a 是可变类型,因为它包含对对象进行操作的方法,例如 example()。这些方法可以改变对象的状态,而不需要创建新的对象。
可操作性
对于 SortedKeyDict 和 RoundFloat 进行的测试,区别在于它们的行为给定的设定值。 SortedKeyDict 是可变的,允许在不显式调用 example() 方法的情况下进行修改。它在内部对键进行排序并返回一个字典。然而,RoundFloat 不支持这种行为,因为它是不可变的。因此,尝试将整数传递给 RoundFloat 而不调用 new 会标记错误。
以上是不可变类型与可变类型:它们的可操作性有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!