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