Object slicing là gì?
Noun
Programming
- ★
- ★
- ★
- ★
- ★
Object slicing được sử dụng để mô tả tình huống khi bạn gán một đối tượng (object) của lớp dẫn xuất (derived class) cho một thể hiện (instance) của lớp cơ sở (base class). Điều này gây ra mất các phương thức (method) và biến thành viên (member variable) của đối tượng thuộc lớp dẫn xuất. Ví dụ về object slicing trong ngôn ngữ C++ bên dưới:
class Foo {
int a;
};
class Bar : public Foo {
int b;
};
Vì Bar mở rộng (extend) Foo nên bây giờ nó có 2 biến thành viên là a và b. Vì vậy, nếu bạn tạo một biến bar thuộc kiểu (type) Bar và sau đó tạo một biến thuộc kiểu Foo và gán bar, bạn sẽ mất biến thành viên b trong quá trình này. Ví dụ:
Bar bar;
Foo foo = bar;
Learning English Everyday