問題タブ [abstract]
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.
java - Java - 抽象クラス、equals()、および 2 つのサブクラス
Xptoという名前の抽象クラスと、 PersonおよびCarという名前のそれを拡張する 2 つのサブクラスがあります。また、main() を持つTestという名前のクラスと、2 人の人物または車 (または Xpto を拡張するクラスの任意のオブジェクト) が等しいかどうかを検証するメソッドfoo()があります。したがって、Person クラスと Car クラスの両方でequals()を再定義しました。2 人が同じ名前を持っていれば対等であり、2 台の車が同じ登録をしていれば対等です。
ただし、Test クラスで foo() を呼び出すと、常に「false」になります。理由は理解できます: equals() は Xpto 抽象クラスで再定義されていません。では、その foo() メソッドで 2 人の人物または車 (または Xpto を拡張するクラスの任意のオブジェクト) を比較するにはどうすればよいでしょうか?
要約すると、これは私が持っているコードです:
c++ - Abstract クラスの動的配列を作成するには?
Wildcat、Housecat などの具体的なサブクラスがいくつかある抽象クラス Cat があるとします。
配列が実際の種類を知らなくても、猫の種類へのポインターを格納できるようにしたいと考えています。
Cat の配列を動的に割り当てようとすると、うまくいかないようです。
latex - ラテックスの「本」に要約を含める最良の方法は?
しばらくの間、この質問に対する答えを探していましたが、見つからないようです。ここにいる誰かが私を助けてくれることを願っています.
私は Latex で論文を書いていますが、"book" 環境を使用するときの \frontmatter、\mainmatter、および \backmatter 機能が本当に気に入っています。ただし、アブストラクトを追加する必要があり、「ブック」を作成するときに \begin{abstract} 環境が定義されていません。ただし、「レポート」に変更すると、*matter 条件の機能が失われます。
だから私が本当に知る必要があるのは、「本」に要約を含め、「レポート」と同じようにフォーマットする簡単な方法はありますか? (つまり、「抽象的な」見出しで垂直方向および水平方向の中央に配置されます)
助けてくれてありがとう!何ヶ月も読んだ後のスタックオーバーフローの最初の投稿!
助けてくれたジェイコブに感謝します。以下のコードは、大幅な変更を加えずに取得できる最も近いものです。誰かがこれを実装するためのより「適切な」方法を持っているなら、私はそれを聞いてうれしいです. ;)
visual-studio - Visual Studio: 抽象基本クラスから派生する UserControl クラスを設計する
カスタムのいくつかの抽象基本クラスが必要ですUserControl
。その理由は明らかです。それらはいくつかの共通のプロパティとメソッド (実際にはインターフェイスのいくつかの要素の基本的な実装) を共有しており、それらを一度だけ実装したいからです。
抽象基本クラスを定義することでこれを行いました。
次に、いつものように、デザイナーを使用してビューの 1 つを実装しました。
ここまではすべて問題ありません。ここで、クラスの派生をSpecialView
抽象基本クラスに置き換えます。
現在、Visual Studio 2008 のデザイナーは機能しなくなり、次のように述べています。The designer must create an instance of type 'ViewBase' but it cannot because the type is declared as abstract.
どうすればこれを回避できますか? これらすべてのビューに同じコードをコピーしたくないだけです。
情報:抽象クラスではなく仮想メソッドに関する質問がありますが、適切な解決策はありません。
c# - 親クラスで記述された抽象メソッドを、子クラスで別の名前でオーバーライドできますか?
とにかく、XMLSettings クラスの add 関数の名前を addSetting に変更することはできますが、SettingSaver の add 関数をオーバーライドするようにしてください。派生クラスで確実にオーバーライドする必要があることはわかっていますが、別の名前を使用できるかどうかを知りたいだけです:)事前に感謝します:D
java - 抽象java.text.NumberFormatクラスのgetInstance()メソッドを使用する場合、戻り値の実際のクラスは何ですか?
この質問は、abstract-class-numberformat-very-confused-about-getinstanceの質問を拡張したものです。この質問は、それだけで質問する価値があるほど異なっていると思います。
その質問への回答では、次のようなコードステートメントが述べられていました
クラスのサブクラスであるオブジェクトを返しますjava.text.NumberFormat
。それが抽象クラスであるため、return型が単なるインスタンスではない理由は私には理にかなっています。むしろ、返されるオブジェクトは少なくとものインスタンスであるNumberFormat
と述べられていましたが、実際には別のものです。NumberFormat
私の質問はこれです:返されるオブジェクトのクラスは具体的に何ですか?Sunのドキュメントでは、私が見るサブクラスはChoicesFormat
とだけDecimalFormat
です。ここで行われているコンパイラのブードゥーの舞台裏のようなものはありますか?
前もって感謝します!
php - PHP で抽象クラスから抽象関数を呼び出せないのはなぜですか?
抽象親クラスとそれを拡張する具象クラスを設定しました。親クラスが抽象関数を呼び出せないのはなぜですか?
エラー:
致命的なエラー: 5 行目のfoo.phpの抽象メソッド AbstractFoo::foo() を呼び出せません
django - Django:抽象モデルからパーミッションを継承しますか?
Djangoの抽象モデルから権限を継承することは可能ですか?私はそれについて本当に何も見つけることができません。私にとってこれはうまくいきません!
編集:機能しないということは、黙って失敗することを意味します。このクラスから継承するモデルにはアクセス許可が存在しないため、アクセス許可は作成されません。
c# - C# - 継承されたすべてのクラスが基本クラスからの getter を必要とするが、setter は 1 つの継承されたクラスに対してのみ必要な場合はどうすればよいですか?
WizardViewModelBase という抽象クラスがあります。
私の WizardXXXViewModel クラスはすべて基本抽象クラスから継承しています。
ベースにはゲッターを持つプロパティがあります。すべてのサブクラスはその文字列を必要とし、オーバーライドします
プロパティを ViewModel の DisplayName として使用します。
設定する必要があるため、WizardTimeTableWeekViewModel と呼ばれる 1 つの ViewModel だけがセッターを必要とします。
ViewModel が週 A または週 B のタイムテーブルであるかどうか。次のような 2 つの ViewModel を使用する
WizardTimeTableWeekAViewModel と WizardTimeTableWeekBViewModel は冗長です。
セッターは必要ないため、他のすべてのクラスでセッターをオーバーライドしたくありません。
セッターをオーバーライドする必要がないことをサブクラスに伝えることはできますか?
または他の提案はありますか?
インターフェイスを使用すると、ゲッターまたはセッターを自由に使用できますが、空のセッターが多数あります
プロパティは私にとってオプションではありません。
面白い..私が最初に言ったことに反して、WizardPages のすべての DisplayNames を本当に設定する必要がある場合はどうなるか考えました。おそらく、ローカリゼーションのために getter で文字列をハードコーディングしてリソース ファイルに文字列を配置するべきではなく、すべてのサブクラス XD のどこかに setter が必要です。
c# - C# で抽象メンバーのない抽象クラスが許可されるのはなぜですか?
C# 仕様のセクション 10.1.1.1には、次のように記載されています。
抽象クラスには、抽象メンバーを含めることができます (必須ではありません)。
これにより、次のようなクラスを作成できます。
またはさらに良い:
これは実際には具象クラスです。インスタンス化できない限り、それは抽象的です。たとえば、ロジックを実行したい場合、B.Main()
最初に B のインスタンスを取得する必要がありますが、これは不可能です。
継承者が実際に実装を提供する必要がない場合、なぜそれを抽象と呼ぶのでしょうか?
別の言い方をすれば、なぜ C# は具象メンバーのみを持つ抽象クラスを許可するのでしょうか?
抽象型とメンバーの意図された機能については、既に十分に理解しています。