Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C++ スライシングは、Java/C# などの他の言語にも適用できますか?
スライスとは、サブクラス インスタンスをスーパークラス変数に割り当てる場合、サブクラスに含まれる追加情報が「スライス」されることを意味します。これは、スーパークラス変数には、サブクラスのこの追加情報を格納するための余分なスペースがないためです。
すべてのオブジェクト変数が参照であるため、これは Java や C# では発生しません。サブクラスのインスタンスをスーパークラスの変数に割り当てるときは、実際には参照をコピーするだけです。サブクラス オブジェクト自体はそのまま残ります。