問題タブ [object-oriented-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
81 参照

java - 実装するか、拡張するか。

インターフェイス C とそれを実装するクラス A があるとします。

ここで、A の実装を、クラス B を持つ 1 つを除く C のすべての関数に変更したいとします。A を拡張して C をオーバーライドする必要がありますか、それとも C を新しい独立したクラスとして実装する必要がありますか?

一部の電話会社が、基本的なインターフェイスである Phone を実装したいと考えており、既に OldPhone の古い実装をいくつか持っていて、そのすべての機能を保持したいと考えているとしましょう。電話をかけ、電話を切り、SMS を送信します。すべてを変更する必要がありますが、新しいスマートフォンを作るために他の新しい機能を望んでいます.OldPhoneを拡張する必要がありますか、それとも新しいクラスを作成する必要がありますか?

いつクラスを拡張する必要があるのか​​ 、いつインターフェイスを最初から実装する必要があるのか​​ を知りたい.概念的に異なります。

0 投票する
3 に答える
1370 参照

c# - インターフェイス名を使用してクラス インスタンスを作成する概念は何ですか?

セット変数またはオブジェクトの概念は何ですか、またはクラスのインスタンスを作成し、左側にインターフェイスの名前を入力すると、それが何と呼ばれるかわかりません。タイプインターフェイスのオブジェクトを作成できないことはわかっています。

このプロセスが何を命名したか、またはこれらのタイプのオブジェクトを宣言するときに.Netによって行われた詳細をさらに明確にする必要があるだけです。

0 投票する
1 に答える
119 参照

java - オブジェクト指向アプローチを導入するための非オブジェクト指向アプローチの何が問題なのか

私はこのトピックについて読んでいますが、読めば読むほど混乱します。

誰か詳しく教えてください。私たちは構造的アプローチに従う言語 C を使用していたので、このアプローチの何が問題だったのか、オブジェクト指向言語 JAVA を作成することにしました。

私 は 非常 に 多く の 理論 的 側面 を 読ん で い ます .

インタビューやチュートリアルでの回答を求めているわけではありません オブジェクト指向アプローチのより良い理解/実用的な重要性を理解するための回答を探しています

0 投票する
2 に答える
409 参照

c# - ToString() を常に明示的に指定する必要がありますか?

次のようなカスタム クラス構造があります。

次に、コードの他の部分に、Stringオブジェクトをパラメーターとして受け取るメソッドがあります。最初の行はコンパイルされますが、2 番目の行はコンパイルされません。オブジェクトを送信するときにToStringがデフォルトで呼び出されると思いました。また、 Objectクラスから継承されるStuffには、 ToStringが既に実装されている必要があります (また、私の場合は実装によってシャドウされます)。

何が恋しいですか?

0 投票する
3 に答える
395 参照

c# - オブジェクト指向設計の謎

abstract base class他のクラス X から継承し ているA があるとします。

クラス A オーバーライド メソッドfoo1

クラスである他のいくつかのクラスA1、A2、A3がありconcreteます。

すべての具象クラスは method を継承しfoo1ます。

メソッドfoo1は、すべての具体的なクラスに適しているはずの一般的なアルゴリズムのようなものです。
アルゴリズムの1つの例外がif条件があるため、「ほぼ」です。一部のクラスでfoo2は、の開始時に他のメソッドを起動する必要があるのはA1、A3だけですfoo

A2 の場合、起動する必要はありませんfoo2

問題はfoo2、クラス A に実装すると、すべての子がこの関数も継承することです。これはあまり良い設計ではありませんか?

foo2具体的なクラスによって実装されるインターフェイスに除外することを考えました->しかし、foo1どの呼び出しfoo2が基本クラスにあるのか、これは良くありません!

この問題を適切な方法で解決する方法はありますか?

ありがとうございました

0 投票する
5 に答える
5317 参照

java - Java - 双方向の「Has A」関係

雇用主を管理ソフトウェアにするプロジェクトを開始したばかりです。私は、情報を見つけることができないように見える、ちょっとした、しかし潜在的に単純なクエリを持っています。

オブジェクト間に双方向の「has a」関係を持たせることは賢明/良い習慣ですか。たとえば、あるClientオブジェクトが' has a' を持ち、Site次にSite'has a'がClientできます。ClientClientSite

これに異議を唱えるものはありますか (しゃれは意図されていません)、それとも問題ありませんか? 私は現在、プロジェクトのモックアップ UML を作成していますが、これは私を悩ませてきました。