タグ付けされた質問 「oop」

オブジェクト指向プログラミングは、「オブジェクト」を使用したプログラミングパラダイムです。つまり、データフィールドとメソッド、およびそれらの相互作用で構成されるデータ構造です。


19
JavaScriptでクラスを定義するために使用できるテクニックと、そのトレードオフは何ですか?
私は、現在取り組んでいるプロジェクトのような大規模プロジェクトでOOPを使用することを好みます。JavaScriptでいくつかのクラスを作成する必要がありますが、誤解しない限り、それを行うには少なくともいくつかの方法があります。構文はどのようになり、なぜそのように行われるのでしょうか? サードパーティのライブラリの使用は避けたい-少なくとも最初は。 他の答えを探していると、JavaScriptによるオブジェクト指向プログラミング、パートI:継承-JavaScriptでのオブジェクト指向プログラミングについて説明しているドキュメントJavaScriptを見つけました。継承を行うより良い方法はありますか?
686 javascript  oop  class 

7
JavaのコアライブラリのGoFデザインパターンの例
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 GoF Javaデザインパターンを学習しています。実際の例をいくつか見てみたいと思います。Javaのコアライブラリのこれらのデザインパターンの良い例は何ですか?


7
派生クラス関数から親クラス関数を呼び出す方法は?
C ++を使用して派生クラスから親関数を呼び出すにはどうすればよいですか?たとえば、というクラスとparent、child親から派生したというクラスがあります。各クラス内にはprint関数があります。子の印刷関数の定義で、親の印刷関数を呼び出したいと思います。これを行うにはどうすればよいですか?
604 c++  oop  inheritance 

16
抽象クラスをインスタンス化できますか?
あるインタビューで、「抽象クラスをインスタンス化できるかどうか」と尋ねられました。 私の返事は「いいえ、できません」でした。しかし、面接官は私に「間違った、私たちはできる」と言った。 私はこれについて少し議論しました。それから彼は私にこれを自分で家で試すように言った。 abstract class my { public void mymethod() { System.out.print("Abstract"); } } class poly { public static void main(String a[]) { my m = new my() {}; m.mymethod(); } } ここでは、クラスのインスタンスを作成し、抽象クラスのメソッドを呼び出しています。誰か私にこれを説明してもらえますか?面接中に私は本当に間違っていましたか?
573 java  oop  class  object  abstract 


9
Pythonで「スーパー」は何をしますか?
違いは何ですか: class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() そして: class Child(SomeBaseClass): def __init__(self): SomeBaseClass.__init__(self) super継承が1つしかないクラスで非常に多く使用されているのを見てきました。なぜ多重継承で使用するのかはわかりますが、このような状況で使用することの利点についてははっきりしません。
564 python  oop  inheritance  super 


5
MVCでモデルをどのように構成する必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 私はMVCフレームワークを把握しているだけで、モデルにどのくらいのコードを含める必要があるのか​​よく疑問に思います。私はこのようなメソッドを持つデータアクセスクラスを持っている傾向があります。 public function CheckUsername($connection, $username) { try { $data = array(); $data['Username'] = $username; //// SQL $sql = "SELECT Username FROM" . $this->usersTableName . " WHERE Username = :Username"; //// Execute statement return $this->ExecuteObject($connection, $sql, $data); } catch(Exception $e) { throw $e; } } 私のモデルは、データベーステーブルにマップされるエンティティクラスになる傾向があります。 モデルオブジェクトには、データベースにマップされたすべてのプロパティと上記のコードを含める必要がありますか、それとも実際にデータベースが機能するコードを分離しても問題ありませんか? 最終的に4つのレイヤーができますか?

30
Cでオブジェクト指向のコードをどのように記述しますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 Cでオブジェクト指向コードを書く方法は何ですか?特に多型に関して。 このStack Overflowの質問Cのオブジェクト指向も参照してください。
500 c  oop  object 

4
JavaScript:Class.methodとClass.prototype.method
次の2つの宣言の違いは何ですか? Class.method = function () { /* code */ } Class.prototype.method = function () { /* code using this.values */ } 最初のステートメントを静的メソッドの宣言と考え、2番目のステートメントをインスタンスメソッドの宣言と考えても問題ありませんか?

16
凝集力とカップリングの違い
凝集と結合の違いは何ですか? 結合と凝集は、ソフトウェア設計の良し悪しにどのようにつながりますか? 2つの違いの概要と、全体的なコード品質への影響を説明する例は何ですか?
486 oop  architecture  theory  ooad 

30
JavaScriptプライベートメソッド
パブリックメソッドでJavaScriptクラスを作成するには、次のようにします。 function Restaurant() {} Restaurant.prototype.buy_food = function(){ // something here } Restaurant.prototype.use_restroom = function(){ // something here } そうすれば、私のクラスのユーザーは次のことができます。 var restaurant = new Restaurant(); restaurant.buy_food(); restaurant.use_restroom(); buy_foodおよびuse_restroomメソッドによって呼び出すことができるが、クラスのユーザーによって外部からは呼び出せないプライベートメソッドを作成するにはどうすればよいですか? 言い換えれば、私は私のメソッド実装ができるようにしたいです: Restaurant.prototype.use_restroom = function() { this.private_stuff(); } しかし、これはうまくいかないはずです: var r = new Restaurant(); r.private_stuff(); private_stuffこれらの両方が成り立つようにプライベートメソッドとして定義するにはどうすればよいですか? Doug Crockfordの記事を何度か読んだことがありますが、「プライベート」メソッドをパブリックメソッドから呼び出したり、「特権」メソッドを外部から呼び出したりすることはできないようです。

29
インターフェイスと抽象クラスの違いをどのように説明すればよいですか?
インタビューの1つで、インターフェイスと抽象クラスの違いを説明するように求められました。 これが私の返答です: Javaインターフェースのメソッドは暗黙的に抽象的であり、実装を持つことはできません。Java抽象クラスには、デフォルトの動作を実装するインスタンスメソッドを含めることができます。 Javaインターフェースで宣言された変数は、デフォルトではfinalです。抽象クラスには、非final変数が含まれる場合があります。 Javaインターフェースのメンバーはデフォルトでパブリックです。Java抽象クラスは、private、protectedなどの通常のクラスメンバーのフレーバーを持つことができます。 Javaインターフェースは、キーワード「implements」を使用して実装する必要があります。Java抽象クラスは、キーワード「extends」を使用して拡張する必要があります。 インターフェースは別のJavaインターフェースのみを拡張でき、抽象クラスは別のJavaクラスを拡張して複数のJavaインターフェースを実装できます。 Javaクラスは複数のインターフェースを実装できますが、拡張できる抽象クラスは1つだけです。 しかしインタビュアーは満足せず、この記述は「本好きの知識」を表すものだと私に言った。 実用的な例を使用して、インターフェイスより抽象クラスをいつ選択するかを説明し、より実用的な対応を求められました。 どこで私は間違えましたか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.