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

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


25
C#で静的メソッドがインターフェイスを実装できないのはなぜですか?
なぜC#はこのように設計されたのですか? 私が理解しているように、インターフェースは動作を説明するだけであり、特定の動作が実装されているインターフェースを実装するクラスの契約上の義務を説明する目的を果たします。 クラスがその振る舞いを共有メソッドに実装したいのであれば、なぜそうすべきではないのでしょうか? これが私が考えていることの例です: // These items will be displayed in a list on the screen. public interface IListItem { string ScreenName(); ... } public class Animal: IListItem { // All animals will be called "Animal". public static string ScreenName() { return "Animal"; } .... } public class Person: IListItem …

21
クラスで 'static'キーワードは何をしますか?
具体的には、私はこのコードを試していました: package hello; public class Hello { Clock clock = new Clock(); public static void main(String args[]) { clock.sayTime(); } } しかし、それはエラーを与えました 静的メソッドmainの非静的フィールドにアクセスできません だから私はの宣言をこれに変更しましたclock: static Clock clock = new Clock(); そしてそれはうまくいった。宣言の前にそのキーワードを置くとはどういう意味ですか?そのオブジェクトに対して何を実行できるかに関して、正確に何を行うか、または制限するか?

30
C ++の構造体とクラスの違いは何ですか?
この質問は、C#/。Netのコンテキストですでに尋ねられました。 次に、C ++での構造体とクラスの違いを学びたいと思います。OO設計で技術的な違いとどちらか一方を選択する理由について説明してください。 明らかな違いから始めましょう: public:またはを指定しない場合private:、構造体のメンバーはデフォルトでパブリックになります。クラスのメンバーはデフォルトでプライベートです。 C ++仕様のあいまいなコーナーには他にも違いがあると思います。
439 c++  oop  class  struct  c++-faq 

15
インターフェースのメソッド実装を@オーバーライドする必要がありますか?
インターフェイスメソッドを実装するメソッドに注釈を付ける必要があり@Overrideますか? javadocのOverride注釈は言います: メソッド宣言がスーパークラスのメソッド宣言をオーバーライドすることを目的としていることを示します。メソッドにこのアノテーションタイプでアノテーションが付けられているが、スーパークラスメソッドをオーバーライドしない場合、コンパイラーはエラーメッセージを生成する必要があります。 インターフェイスは厳密にはスーパークラスだとは思いません。またはそれは? Question Elaboration




6
Pythonの「__enter__」と「__exit__」の説明
私はこれを誰かのコードで見ました。どういう意味ですか? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s

30
C ++で 'friend'を使用する必要があるのはいつですか?
私はC ++のFAQを読んでいて、そのfriend宣言に興味がありました。個人的には使用したことがありませんが、言語を探求することに興味があります。 使用の良い例は何friendですか? FAQをもう少し読むと、 << >>演算子をオーバーロードして、それらのクラスの友達として追加です。しかし、これがカプセル化を壊さないかどうかはわかりません。これらの例外はいつOOPである厳密性の範囲内にとどまることができますか?
354 c++  oop  encapsulation  friend 


21
ポリモーフィズムvsオーバーライドvsオーバーロード
Javaに関して、誰かが尋ねると: ポリモーフィズムとは何ですか? 思いのオーバーロードまたはオーバーライド許容答えは? それだけではない。 実装のないメソッドを定義した抽象基本クラスがあり、そのメソッドをサブクラスで定義した場合でも、それはオーバーライドされますか? 過負荷は確かに正しい答えではないと思います。

8
newの代わりにalloc initを使用
Objective-Cを学び、サンプルコードを読むと、オブジェクトは通常、このメソッドを使用して作成されていることがわかります。 SomeObject *myObject = [[SomeObject alloc] init]; の代わりに: SomeObject *myObject = [SomeObject new]; 私はそれらが同等であると読んだので、これには理由がありますか?
344 objective-c  oop 



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