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

継承とは、オブジェクト指向プログラミングのシステムであり、オブジェクトは独自の定義を提供する必要なく、前の型によって定義された操作をサポートできます。これは、オブジェクト指向プログラミングにおけるポリモーフィズムの主要なベクトルです。

9
クラス名を保持する文字列からオブジェクトをインスタンス化する方法はありますか?
私はファイルを持っています:Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ および別のファイル:BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new DerivedB(); } else if(/*etc...*/) { …

14
静的メソッドはJavaで継承されますか?
Khalid MughalによるJava™SCJP認定のプログラマガイドを読んでいました。 継承の章では、 メンバーの継承は、宣言されたアクセシビリティと密接に関連しています。スーパークラスメンバーがサブクラスの単純な名前でアクセスできる場合(スーパーのような追加の構文を使用せずに)、そのメンバーは継承されたと見なされます また、静的メソッドは継承されないことにも言及しています。ただし、以下のコードは完全に問題ありません。 class A { public static void display() { System.out.println("Inside static method of superclass"); } } class B extends A { public void show() { // This works - accessing display() by its simple name - // meaning it is inherited according to the book. display(); …
142 java  inheritance  static 



12
Javaでは、派生クラスのオーバーライドメソッドから基本クラスのメソッドを呼び出す方法を教えてください。
私は2つのJavaクラスを持っています。Bは、次のように別のクラスAを拡張します。 class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { /* Another code */ } } 私は呼びたいでしょうA.myMethod()からB.myMethod()。私はC ++の世界出身ですが、Javaでこの基本的なことを行う方法がわかりません。


10
List <SubClass>をList <BaseClass>にキャストする最も効率的な方法
私が持っているList&lt;SubClass&gt;私のように扱いたいということList&lt;BaseClass&gt;。a SubClassをaにキャストするのBaseClassは簡単なので、問題にはならないようですが、コンパイラーはキャストが不可能であると不平を言っています。 それで、同じオブジェクトへの参照を取得する最良の方法は何List&lt;BaseClass&gt;ですか? 現在、私は新しいリストを作成し、古いリストをコピーしています: List&lt;BaseClass&gt; convertedList = new ArrayList&lt;BaseClass&gt;(listOfSubClass) しかし、私が理解しているように、まったく新しいリストを作成する必要があります。可能であれば、元のリストを参照してください。

9
データベースの継承をどのように効果的にモデル化しますか?
データベースの継承をモデル化するためのベストプラクティスは何ですか? トレードオフとは何ですか(クエリ可能性など)? (私はSQL Serverと.NETに最も興味がありますが、他のプラットフォームがこの問題にどのように対処するかについても理解したいと思います。)

4
C#では、クラスは別のクラスとインターフェイスから継承できますか?
クラスがクラスとインターフェースから継承できるかどうか知りたい。以下のサンプルコードは機能しませんが、私がやりたいことを伝えていると思います。私がこれをしたいのは、私たちの会社ではUSB、シリアル、イーサネットなどのデバイスを作っているからです。すべてのアプリケーションで共通のもの(接続、切断、ファームウェアの取得など)を同じに保つのに役立つ、すべてのデバイス用のプログラムを作成するために使用できる汎用コンポーネント/インターフェイスを開発しようとしています。 この質問に追加するには:GenericDeviceが別のプロジェクトにある場合、そのプロジェクトにIOurDevicesインターフェイスを配置してから、最初のプロジェクトへの参照を追加すると、USBDeviceクラスにインターフェイスを実装させることができますか?なぜなら、1つのプロジェクトを参照し、デバイスに応じて異なるインターフェイスを実装したいからです。 class GenericDevice { private string _connectionState; public connectionState { get{return _connectionState; } set{ _connectionState = value;} } } interface IOurDevices { void connectToDevice(); void DisconnectDevice(); void GetFirmwareVersion(); } class USBDevice : IOurDevices : GenericDevice { //here I would define the methods in the interface //like this... void connectToDevice() …




11
Swift言語の抽象関数
迅速な言語で抽象的な関数を作成したいのですが。出来ますか? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }

7
Rubyの継承とMixin
Rubyでは、複数のミックスインを含めることができますが、拡張するクラスは1つだけであるため、継承よりもミックスインの方が好ましいようです。 私の質問:役立つように拡張/インクルードする必要があるコードを書いているなら、なぜそれをクラスにするのでしょうか?または別の言い方をすると、なぜそれを常にモジュールにしないのですか? クラスが必要な理由は1つだけ考えられます。それは、クラスをインスタンス化する必要がある場合です。ただし、ActiveRecord :: Baseの場合は、直接インスタンス化することはありません。代わりに、それはモジュールではないのでしょうか?

7
インターフェースはJavaの複数のインターフェースを拡張できますか?
インターフェースはJavaの複数のインターフェースを拡張できますか?このコードは私のIDEで有効であるように見え、コンパイルされます: interface Foo extends Runnable, Set, Comparator&lt;String&gt; { } しかし、Javaでは多重継承が許可されていないと聞いていました。インターフェースに例外があるように見えるのはなぜですか?

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