C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++またはJavaでのオブジェクトスライスとは何ですか?


オブジェクトスライスは、派生クラスのオブジェクトを基本クラスのインスタンスに割り当てるときの状況を説明するために使用されます。これにより、派生クラスオブジェクトのメソッドとメンバー変数が失われます。これは、情報が切り取られることと呼ばれます。たとえば、

class Foo {
   int a;
};
   class Bar : public Foo {
   int b;
};

BarはFooを拡張するため、aとbの2つのメンバー変数があります。したがって、タイプBarの変数バーを作成してからタイプFooの変数を作成し、バーを割り当てると、プロセスでメンバー変数bが失われます。たとえば、

Bar bar;
Foo foo = bar;

この場合、約bの情報はバーで失われます。これは、メンバースライスと呼ばれます。


  1. JavaのARMとは何ですか?

    リソースは、AutoClosableインターフェイスを実装するオブジェクトです。プログラムでリソースを使用するときは常に、使用後にリソースを閉じることをお勧めします。 最初、このタスクはfinallyブロックを使用して実行されます。 例 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Scanner; public class FinalExample {    public static void main(String[]

  2. Javaでのオブジェクトクローンの使用は何ですか?

    オブジェクトのクローン作成は、オブジェクトの正確なコピーを作成する方法です。 この目的のために、 clone() オブジェクトクラスのメソッドは、オブジェクトのクローンを作成するために使用されます。 クローン可能 インターフェイスは、作成するオブジェクトのクローンを持つクラスによって実装される必要があります。 Cloneableインターフェースを実装しない場合、clone()メソッドは CloneNotSupportedExceptionを生成します 。 clone()メソッドは、オブジェクトの正確なコピーを作成するための余分な処理タスクを節約します。 newキーワードを使用して実行すると