Skip to main content

デフォルトのコンストラクターとは何ですか?

defaultデフォルトのコンストラクターは、オブジェクト指向プログラミングでオブジェクトを作成および初期化する専門的な方法です。コンストラクターには複数の種類がありますが、デフォルトのコンストラクターは、オブジェクトの作成と初期化に加えて、2つの特定の基準のいずれかを満たす必要があります。パラメーターはない必要があります。その場合、nulraryコンストラクターとも呼ばれるか、設定する機能を持つすべてのパラメーターにデフォルト値を割り当てる必要があります。一部のコンピューター言語は、プログラマがコンストラクターをまったく指定していない場合、デフォルトのnullaryコンストラクターを暗黙的に指定します。あらゆる種類のコンストラクターが書かれたら、デフォルトのヌラリーコンストラクターは指定されなくなり、必要に応じて明示的に記述する必要があります。サブクラスコンストラクターは、サブクラスに固有のことを行う前に、常にスーパークラスコンストラクターを呼び出す必要があります。Java&Reg;のような一部の言語では、サブクラスコンストラクターが暗黙的にスーパークラスのデフォルトのヌラリーコンストラクターを呼び出します。スーパークラスのデフォルトのヌラリーコンストラクターが存在しない場合、サブクラスオブジェクトを適切に構築できません。この場合、サブクラスにはいずれかのデフォルトコンストラクターのいずれかのタイプを持つことができますが、おそらくサブクラスに固有のデフォルト値を渡すことにより、利用可能なスーパークラスコンストラクターを正しく呼び出す必要があります。プログラマーが指定および文書化する必要がある方法の数だけでなく、コードのメンテナンスと理解度をより困難にする可能性があるという不利な点もあります。一部のプログラマーは、デフォルトのコンストラクターの省略が悪い練習であると考えていますが、他のプログラマはそうではありません。個々のプログラマーがこれらのプログラミング方法のいずれかを順守することを妨げるものは何もないため、コードにデフォルトのヌラリーコンストラクターを含めることは、プログラマー側の主に文体的な選択です。コンストラクターが含まれている場合、ほとんどの思考学校は、他のコンストラクターまたは方法と同じようにコメントして文書化する必要があると命じます。。これにより、コンストラクターが指定されているクラスに基づいて固有の能力が得られます。パブリックデフォルトのコンストラクターを使用して、別のクラスから新しいオブジェクトを作成できますが、保護されたコンストラクターは、独自のクラスとサブクラスからのみ呼び出されます。保護されたデフォルトのコンストラクターは、継承階層でよく見られます。プライベートコンストラクターは通常、プログラマではなく、何らかのタイプの工場メソッドがそれを呼び出すために利用できる自己完結型クラスでのみ採用されています。