トップOOP(オブジェクト指向プログラミング)インタビュー質問と回答
4843 ワード
良いソフトウェアエンジニアとして、良いOOP(オブジェクト指向プログラミング)概念を持つべきです.あなたがソフトウェアエンジニアの地位のためにインタビューをするならば、あなたは私が以下のポストで分担するつもりであるOOPインタビュー質問を予想しなければなりません.このページをブックマークするのを忘れないでください🙂
OOPはオブジェクト指向プログラミングを表します.それはすべてがオブジェクトとして表現され、プログラムがclassedとオブジェクトを使用して設計されているプログラミングパラダイムです.
オブジェクトは、バルブやテーブルなどの状態や振る舞いを持つ現実世界の実体です.
クラスはオブジェクトの青写真と呼ばれます.
OOPの利点は、使いやすさと簡単なメンテナンスが含まれています.
オブジェクトベースのプログラミングはオブジェクト指向プログラミングとほぼ同じ方法ですが、継承をサポートしません.JavaScriptはオブジェクトベースのプログラミングの例の一つです.
オブジェクト作成時に呼び出される特殊なメソッドです.
コンストラクタには戻り値の型はなく、名前はクラス名と同じです.メソッドが返される型を持つ必要がありますが、その名前はクラス名と同じであるかもしれません.
コンストラクターはクラスインスタンスを返します.
OOPの4つの柱があります.遺産 の多形 の抽象化 カプセル化
これは、子クラスが親クラスの属性と振る舞いをすべて継承する概念です.
多重継承では、クラスは複数の親クラスから属性と振る舞いを継承します.マルチレベル継承では、クラスはクラスを拡張します.
クラスが別のクラスへの参照を含む場合、この概念は集約と呼ばれます.
つの実体の間のIS - A関係があるとき、我々は遺産を選ぶでしょう.
たとえば、猫と動物(猫はA)動物です.
一方、2つの実体の間にHas - A関係があるとき、私たちは凝集を選びます.
たとえば、クラスと学生(クラスには学生がいます).
組成は2つの実体の間の強い関連です.例えば、車とエンジン.車が破壊されるならば、エンジンは役に立たないです.これに比べて、実体は集合で互いに独立している.例えば、クラスと学生.クラスが破壊されるならば、学生はまだ存在することができます.
OOPでは、オブジェクトが同じメッセージに異なる方法で応答する能力は多形と呼ばれます.これはメソッドのオーバーロードとメソッドのオーバーライドによって達成されます.
同じクラスの2つ以上のメソッドが同じ名前が異なる引数を持つ場合、この概念はメソッドオーバーロードと呼ばれます.また、静的結合またはコンパイル時の多型と呼ばれます.
親クラスで定義されたメソッドを子クラスで再定義すると、この概念は呼び出しメソッドのオーバーライドです.また、動的結合またはランタイム多型と呼ばれます.
オブジェクトの状態や振る舞いを隠蔽するのはカプセル化と呼ばれます.これはアクセス修飾子を使用して実現されます.
Access修飾子は、属性または関数のスコープを定義するキーワードです.
特定の複雑な詳細を隠して、オブジェクトの重要な特徴を示すことは、抽象化と呼ばれています.
宣言されるが定義がないメソッド.
派生クラスまたは子クラスでオーバーライドされることを期待されるクラスのメンバーメソッドです.
抽象メソッドが定義を持つことができない間、仮想メソッドは定義を持つことができます.
変数またはメソッドがstaticと宣言された場合、それはオブジェクトの代わりにクラスに関連付けられます.静的変数とメソッドは、クラスのインスタンスを生成せずに呼び出すことができます.
これは、子クラスの親クラスのコンストラクターを呼び出すために使用されます.また、子クラスでオーバーライドされる親クラスで定義されたメソッドを呼び出すためにも使用されます.
抽象化が不可欠な特徴を示していて、内部複雑さを隠している間、カプセル化はオブジェクトの内部の詳細を隠しています.
これは、インターフェイスを宣言したすべての抽象メソッドを実装するクラスを強制するコントラクトです.
抽象クラスでは、インターフェイスを介して部分抽象化(0 - 100 %)が達成され、100 %抽象化が実現されます.抽象クラスは抽象化と非抽象メソッドの両方を含んでいます.
はい、コンパイラは差分型のメソッドを区別するのに十分スマートですが、引数は同じであることができます.
これによりコンパイル時エラーが発生します.
それは抽象的な方法を定義しないクラスです.
私は、上記のOOPのインタビューの質問はあなたのために有用であることを証明願っています.閉じるこの動画はお気に入りから削除されています.
幸運の最高!
あなたは私に続くことができます
閉じるこの動画はお気に入りから削除されています.親切に私を支えてください
GitHub
OOPインタビュー質問と回答
OOPは何ですか?
OOPはオブジェクト指向プログラミングを表します.それはすべてがオブジェクトとして表現され、プログラムがclassedとオブジェクトを使用して設計されているプログラミングパラダイムです.
2 .オブジェクトは何ですか?
オブジェクトは、バルブやテーブルなどの状態や振る舞いを持つ現実世界の実体です.
3 .クラスは何ですか。
クラスはオブジェクトの青写真と呼ばれます.
OOPの利点は何ですか?
OOPの利点は、使いやすさと簡単なメンテナンスが含まれています.
オブジェクト指向プログラミングとオブジェクト指向プログラミングの違い
オブジェクトベースのプログラミングはオブジェクト指向プログラミングとほぼ同じ方法ですが、継承をサポートしません.JavaScriptはオブジェクトベースのプログラミングの例の一つです.
6 .コンストラクタとは
オブジェクト作成時に呼び出される特殊なメソッドです.
コンストラクタとメソッドの違いは何ですか?
コンストラクタには戻り値の型はなく、名前はクラス名と同じです.メソッドが返される型を持つ必要がありますが、その名前はクラス名と同じであるかもしれません.
8 .コンストラクタはどんな値を返しますか?
コンストラクターはクラスインスタンスを返します.
OOPの柱は何ですか?
OOPの4つの柱があります.
10 .継承とは
これは、子クラスが親クラスの属性と振る舞いをすべて継承する概念です.
11 .多重継承とマルチレベル継承とは何か?
多重継承では、クラスは複数の親クラスから属性と振る舞いを継承します.マルチレベル継承では、クラスはクラスを拡張します.
集合体とは何か
クラスが別のクラスへの参照を含む場合、この概念は集約と呼ばれます.
継承と集約を選ぶべきですか?
つの実体の間のIS - A関係があるとき、我々は遺産を選ぶでしょう.
たとえば、猫と動物(猫はA)動物です.
一方、2つの実体の間にHas - A関係があるとき、私たちは凝集を選びます.
たとえば、クラスと学生(クラスには学生がいます).
14集合と構成の違いは何か。
組成は2つの実体の間の強い関連です.例えば、車とエンジン.車が破壊されるならば、エンジンは役に立たないです.これに比べて、実体は集合で互いに独立している.例えば、クラスと学生.クラスが破壊されるならば、学生はまだ存在することができます.
多形性とは何か
OOPでは、オブジェクトが同じメッセージに異なる方法で応答する能力は多形と呼ばれます.これはメソッドのオーバーロードとメソッドのオーバーライドによって達成されます.
16 .メソッドオーバーロードとは
同じクラスの2つ以上のメソッドが同じ名前が異なる引数を持つ場合、この概念はメソッドオーバーロードと呼ばれます.また、静的結合またはコンパイル時の多型と呼ばれます.
17 .オーバーライドする方法は?
親クラスで定義されたメソッドを子クラスで再定義すると、この概念は呼び出しメソッドのオーバーライドです.また、動的結合またはランタイム多型と呼ばれます.
カプセル化とは何か
オブジェクトの状態や振る舞いを隠蔽するのはカプセル化と呼ばれます.これはアクセス修飾子を使用して実現されます.
19 .アクセス修飾子とは
Access修飾子は、属性または関数のスコープを定義するキーワードです.
20 .抽象化とは何か
特定の複雑な詳細を隠して、オブジェクトの重要な特徴を示すことは、抽象化と呼ばれています.
21 .抽象的な方法は何ですか?
宣言されるが定義がないメソッド.
22 .仮想メソッドとは
派生クラスまたは子クラスでオーバーライドされることを期待されるクラスのメンバーメソッドです.
23 .抽象メソッドと仮想メソッドの違いは?
抽象メソッドが定義を持つことができない間、仮想メソッドは定義を持つことができます.
24 .静的キーワードの使用は何ですか?
変数またはメソッドがstaticと宣言された場合、それはオブジェクトの代わりにクラスに関連付けられます.静的変数とメソッドは、クラスのインスタンスを生成せずに呼び出すことができます.
25「スーパー」キーワードの使用は何ですか?
これは、子クラスの親クラスのコンストラクターを呼び出すために使用されます.また、子クラスでオーバーライドされる親クラスで定義されたメソッドを呼び出すためにも使用されます.
26 .抽象化とカプセル化の違いは何ですか?
抽象化が不可欠な特徴を示していて、内部複雑さを隠している間、カプセル化はオブジェクトの内部の詳細を隠しています.
27 .インタフェースとは
これは、インターフェイスを宣言したすべての抽象メソッドを実装するクラスを強制するコントラクトです.
抽象クラスとインターフェースの違いは何ですか?
抽象クラスでは、インターフェイスを介して部分抽象化(0 - 100 %)が達成され、100 %抽象化が実現されます.抽象クラスは抽象化と非抽象メソッドの両方を含んでいます.
オーバーロードされたメソッドは異なる戻り値を持つことができますか?
はい、コンパイラは差分型のメソッドを区別するのに十分スマートですが、引数は同じであることができます.
これによりコンパイル時エラーが発生します.
public void calculates (int num) {
...
}
public int calculate (int num) {
...
}
しかし、これは正常にコンパイルされます.public void calculates (int num) {
...
}
public int calculate (int num, int numExtra) {
...
}
30 .親クラス「動物」と子クラス「cat」があるとします。以下のコードを実行できますか?
I) Animal a = new Cat ();
親クラスオブジェクトが子クラスオブジェクトへの参照を持つことができるので、このコードは実行されることができます.ii) Cat c = new Animal ();
子クラスオブジェクトが親クラスオブジェクトへの参照を持つことができないので、このコードはエラーをスローします.31 .クラスのクラスは?
それは抽象的な方法を定義しないクラスです.
私は、上記のOOPのインタビューの質問はあなたのために有用であることを証明願っています.閉じるこの動画はお気に入りから削除されています.
幸運の最高!
つながりましょう💜
あなたは私に続くことができます
閉じるこの動画はお気に入りから削除されています.親切に私を支えてください
GitHub
Reference
この問題について(トップOOP(オブジェクト指向プログラミング)インタビュー質問と回答), 我々は、より多くの情報をここで見つけました https://dev.to/mrdanishsaleem/top-oop-object-oriented-programming-interview-questions-and-answers-5l2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol