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

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

6
NodeJSでのJavaScript OOP:どうやって?
私はJavaのように古典的なOOPに慣れています。 NodeJSを使用してJavaScriptでOOPを実行するためのベストプラクティスは何ですか? 各クラスは、module.export? クラスを作成するには? this.Class = function() { //constructor? var privateField = "" this.publicField = "" var privateMethod = function() {} this.publicMethod = function() {} } 対(それが正しいかどうかさえわかりません) this.Class = { privateField: "" , privateMethod: function() {} , return { publicField: "" publicMethod: function() {} } } 対 this.Class = function() …


16
インターフェイスとクラスの違いは何ですか?また、クラスにメソッドを直接実装できるときにインターフェイスを使用する必要があるのはなぜですか?
これは非常に基本的な質問であることは承知していますが、面接官が非常に巧妙な方法で私に尋ねたので、私は無力でした:( 私はインターフェースの重要なまたは理論的な定義のみを知っており、私が取り組んだ多くのプロジェクトにそれを実装しました。しかし、これがなぜ、どのように役立つのか、本当にわかりません。 インターフェースについても理解できません。つまり、たとえば、 conn.Dispose();ついにブロック。しかし、そのクラスがIDisposableインターフェイス(SqlConnection)クラスを実装または継承していることはわかりません。どうすればメソッド名を呼び出すことができるのでしょうか。また、同じことですが、Disposeメソッドがどのように機能するのか理解していません。すべてのインターフェイスメソッドに対して、独自の実装で関数本体を実装する必要があるためです。それでは、インターフェースはどのように受け入れられ、契約として命名されますか?これらの質問は今まで心の中にあり続けていましたが、率直に言って、自分の質問を理解できる形で説明する良いスレッドは見たことがありません。 MSDNはいつものように非常に恐ろしく見え、1行も明確ではありません(ハイレベルの開発に携わっている皆さん、親切に言い訳をしてください。コードや記事は、それを見る人の心に届くはずなので、他の多くの人が言うように、MSDN使用されません)。 インタビュアーは言った: 彼には5つのメソッドがあり、クラスに直接実装して喜んでいますが、抽象クラスまたは抽象インターフェースを使用する必要がある場合、どちらを選択するのか、そしてその理由は何ですか。抽象クラスとインターフェースの両方の長所と短所についてさまざまなブログで読んだすべてのものに彼は答えましたが、彼は確信していません、彼は一般的に「なぜインターフェース」を理解しようとしています。「なぜ抽象クラス」は、同じメソッドを1回だけ実装でき、それを変更しない場合でも、一般に。 ネットのどこにも、インターフェースとその機能について明確に説明してくれる記事はありませんでした。私はそれらの多くのプログラマーの1人ですが、まだインターフェースについては知りませんが(私は使用した理論と方法を知っています)、明確に理解していることに満足していません。
117 c#  class  oop  interface  abstraction 




8
PHPプロジェクトでは、ヘルパーオブジェクトを格納、アクセス、および編成するためにどのようなパターンが存在しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 PHPベースのオブジェクト指向プロジェクトで、データベースエンジン、ユーザー通知、エラー処理などのヘルパーオブジェクトをどのように整理して管理しますか? 大規模なPHP CMSがあるとします。CMSはさまざまなクラスで構成されています。いくつかの例: データベースオブジェクト ユーザー管理 アイテムを作成/変更/削除するためのAPI エンドユーザーにメッセージを表示するメッセージングオブジェクト 正しいページに移動するコンテキストハンドラ ボタンを表示するナビゲーションバークラス ロギングオブジェクト おそらく、カスタムエラー処理 等 私は、これらのオブジェクトを必要とするシステムの各部分がこれらのオブジェクトにアクセスしやすくするための永遠の質問に取り組んでいます。 何年も前の私の最初のアプローチは、これらのクラスの初期化されたインスタンスを含む$ applicationグローバルを持つことでした。 global $application; $application->messageHandler->addMessage("Item successfully inserted"); 次に、シングルトンパターンとファクトリー関数に切り替えました。 $mh =&factory("messageHandler"); $mh->addMessage("Item successfully inserted"); しかし、私もそのことに満足していません。ユニットテストとカプセル化は私にとってますます重要になり、私の理解では、グローバル/シングルトンの背後にあるロジックはOOPの基本的な考え方を破壊します。 それからもちろん、各オブジェクトに必要なヘルパーオブジェクトへのポインターの数を与える可能性があります。おそらく最もクリーンで、リソースを節約し、テストしやすい方法ですが、長期的にはこれの保守性に疑問があります。 私が調べたほとんどのPHPフレームワークは、シングルトンパターン、または初期化されたオブジェクトにアクセスする関数を使用しています。どちらもすばらしいアプローチですが、先ほど述べたように、どちらにも満足しています。 ここにどのような一般的なパターンが存在するかについて、視野を広げたいと思います。私はからこれを議論するリソースへの例、追加のアイデアやポインタを探しています長期的、現実世界の視点。 また、この問題に対する専門的でニッチなまたは奇妙なアプローチについても興味を持っています。
114 design-patterns  oop  php 

5
Amazonインタビューの質問:オブジェクト指向の駐車場を設計する[終了]
ここで何が尋ねられているのかを知るのは難しい。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 7年前休業。 OO駐車場を設計します。どのようなクラスと関数がありますか。それは、満員で空であり、バレーパーキングの場所を見つけることができるはずです。駐車場には、通常、障害者用、コンパクトの3種類の駐車場があります。 ありがとう!
114 oop 


10
PHPのネストされたクラスまたは内部クラス
私は建物だユーザークラスをしかし、この時、私は少し違っそれを構築するために考えていた、私の新しいウェブサイトのための... C ++、Java、さらにはRuby(そしておそらく他のプログラミング言語)でも、メインクラス内でネストされたクラスや内部クラスを使用できるため、コードをよりオブジェクト指向で組織化することができます。 PHPでは、私はそのようなことをしたいと思います: <?php public class User { public $userid; public $username; private $password; public class UserProfile { // some code here } private class UserHistory { // some code here } } ?> PHPでそれは可能ですか?どうすれば達成できますか? 更新 それが不可能な場合、将来のPHPバージョンはネストされたクラスをサポートする可能性がありますか?
111 php  class  oop  nested  inner-classes 


8
デリゲートはどこで使用しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 7年前休業。 この質問を改善する デリゲートを必要とする実際の場所は何ですか?この方法が最善の解決策である状況またはパターンが存在することに興味があります。コードは不要です。


5
__del__メソッドとは何ですか、それを呼び出す方法は?
コードを読んでいます。__del__メソッドが定義されているクラスがあります。このメソッドはクラスのインスタンスを破棄するために使用されることを理解しました。しかし、この方法を使っているところが見つかりません。その主な理由は、この方法がどのように使用されているかわからないためですobj1.del()。だから、私の質問は__del__メソッドを呼び出す方法ですか?
108 python  oop 

5
'raise NotImplementedError'を使用する場合
クラスを正しく実装することをあなた自身とあなたのチームに思い出させるためですか?私はこのような抽象クラスを完全には使用していません: class RectangularRoom(object): def __init__(self, width, height): raise NotImplementedError def cleanTileAtPosition(self, pos): raise NotImplementedError def isTileCleaned(self, m, n): raise NotImplementedError
108 python  oop 

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