什么是C ++或Java中的对象切片?
对象切片用于描述将派生类的对象分配给基类的实例时的情况。这会导致派生类对象的方法和成员变量丢失。这被称为信息被切掉。例如,
class Foo {int a;
};
class Bar : public Foo {
int b;
};
由于Bar扩展了Foo,因此它现在具有2个成员变量a和b。因此,如果创建Bar类型的变量bar,然后创建Foo类型的变量并分配bar,则在此过程中将丢失成员变量b。例如,
Bar bar;Foo foo = bar;
在这种情况下,关于b的信息in会丢失在一个条中。这称为成员切片。
以上是 什么是C ++或Java中的对象切片? 的全部内容, 来源链接: utcz.com/z/316315.html