C ++中的Java / C#切片[重复]
-
22-08-2019 - |
题
CAN C ++切片适用于其他语言也一样,如Java / C#?
解决方案
切片意味着,如果您分配一个子类的实例,以一个超类变量,由子类包含的额外信息“切”了,因为超类变量没有多余的空间来存储子类的这些额外的信息。
这不会在Java中,也不与C#发生,因为所有的对象变量的引用;当你将一个子类的实例,以一个超类变量,你实际上只是复制参考;子类对象本身保持不变。
不隶属于 StackOverflow
题
CAN C ++切片适用于其他语言也一样,如Java / C#?
解决方案
切片意味着,如果您分配一个子类的实例,以一个超类变量,由子类包含的额外信息“切”了,因为超类变量没有多余的空间来存储子类的这些额外的信息。
这不会在Java中,也不与C#发生,因为所有的对象变量的引用;当你将一个子类的实例,以一个超类变量,你实际上只是复制参考;子类对象本身保持不变。