問題タブ [extends]

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 投票する
3 に答える
5963 参照

php - PHP クラスの拡張 - 同じ名前の属性/メソッドは大丈夫ですか?

「User」という名前のクラスと、「User」を拡張する「Admin」という名前の別のクラスがあり、Admin にすべての属性メソッドを継承させたい場合、たとえば、__construct メソッドを除きます。

これは正しいです?管理者はユーザーの構築メソッドをオーバーライドしますか? 拡張クラスに同じメソッド名がある場合、それは無効だと思います。クラス拡張のポイントを完全に見逃していますか?

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

django - Django:拡張またはインクルード?

私の友人と私は小さな口論をしています。私の現在の Django プロジェクトでは、menu.html という名前のファイルを作成しました。このファイルには、リストに構成およびフォーマットされた一連のリンクが含まれます。メニューを各ページに手動でハードコーディングする代わりに、現在、次の Django/Python コードを使用してメニューを含めています。

しかし、私の友人は、これは間違ったやり方だと言っています。彼は、インクルードの代わりに extends を使用してから、次のようにコンテンツを定義する必要があると言いました。

それは少し余分なコードです。どちらを使用するかは本当に重要ですか? 私は前者を使用することを好みます。

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

model-view-controller - 関心の分離を説明して、データ構造がそれ自体を描画してはならないことを誰かに説明するにはどうすればよいですか?

UIコンポーネントがデータ構造であってはならない理由を説明しようとしている別のプログラマーがいます。

たとえば、「データベース」からレコード セットを含むデータ構造を取得し、そのレコード セットをアプリケーション内の UI コンポーネントに表示したいとします。

このプログラマー (彼は無名のままで、彼は若く、私は彼に教えています...) によると、アプリケーション内で UI コンポーネントを描画するクラスにデータ構造をサブクラス化する必要があります!!!!!!

したがって、このロジックに従って、レコード セットは UI の描画を管理する必要があります。

******ヘッドデスク*****

UI 上の複数の種類のコンポーネントで同じデータ構造をレンダリングしたい場合、レコードセット自体に描画を要求するのは間違っていることはわかっています。レコード セットの基本クラスからレンダリングするすべての UI コンポーネントに対して、さらに別のクラスを拡張する必要があります。

私は、MVC パターンの「クリーンさ」を十分に認識しています (つまり、データ (モデル) を UI (ビュー) またはその上で行われるアクションと混同しないということです)。 data (コントローラーは多かれ少なかれ...まあ、実際にはAPIが実際にそれを処理する必要はありません...そして、コントローラーはできる限り少ない呼び出しを行い、どのビューをレンダリングするかを伝えます))しかし、それは確かにかなりきれいですデータ構造を使用して UI コンポーネントをレンダリングするよりも!

上記の例以外に、彼に送ることができる他のアドバイスはありますか? OOP を初めて学ぶときは、すべてを拡張したいという「段階」を通過することを理解しています。

デザインパターンがすべての問題の解決策であると考える段階が続きます...これも完全に正しいわけではありません...ジェフに感謝します。

この子をそっと正しい方向に向ける方法はありますか? 私の言いたいことを彼に説明するのに役立つ例は他にありますか?

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

java - T と SomeInterface の両方を拡張するJavaで

2 つのパラメーターを取るクラスを作成したいと考えています。1 つは単純に T と入力する必要があります。もう 1 つは、T と の両方を拡張するものとして入力する必要がありSomeInterface<T>ます。これを試すと

その後、Javaは不平を言います

「型 T はインターフェイスではありません。境界付きパラメーターとして指定することはできません」

代わりに、Sのインターフェースを作成しようとすると

その後、Javaは不平を言います

「型パラメーター T をスーパータイプとして参照できません」

Javaでこれを行う方法はありますか? C++でできると思います...?

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

java - Generics : リストはリストと同じです?

extendsJava Generics のキーワードを理解しようとしています。

List<? extends Animal>IS Aに任意のオブジェクトを詰め込むことができることを意味しListます Animal

次に、次も同じことを意味しません。

誰かが上記の2つの違いを知るのを手伝ってもらえますか? extendsここでは冗長に聞こえます。

ありがとう!

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

java - Java でのポインターのような動作

私は以下を得ました:

A のインスタンスを取得し、変数 foo への参照を失わずに B のインスタンスに変換したいと考えています。

例えば:

助けてくれてありがとう!

0 投票する
4 に答える
3949 参照

c# - オブジェクトを基本クラスにキャストすると、拡張されたオブジェクトが返されますか?

私のコード:

と:

問題:

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

php - PHP クラスの拡張

別のクラスとは別に動作する 2 つのクラスがありますが、それらは同じクラスを拡張します。それらを拡張クラスの同じインスタンスで動作させることは可能ですか? 拡張クラスのコンストラクターを一度だけ実行したいです。

私はこれが正しくないことを知っていますが、次のようなものです:

0 投票する
6 に答える
5419 参照

java - Java:Objectクラスの拡張

私は、ロールプログラミングに役立つJavaの「拡張機能」を書いています(まあ、完成しています)。
私は自分のコードをjavaccでJavaコードに変換します。私のコンパイラは、宣言されたすべてのクラスにいくつかのコードを追加します。より明確にするための例を次に示します。

宣言するすべての単一クラスにImplements..と必要なメソッドを追加します。かなりラフですね。

1つのクラスでメソッドを記述し、すべてのクラスがそれを拡張する方がよいでしょう。しかし..クラスがすでに別のクラスを拡張している場合(例のように)?

プログラマーがJavaよりもはるかに多くのこと、いくつかの新しい予約語とその使用法を知っている必要がないため、ロールを管理する一種のラッパーを作成したくありません。

私の考えはjava.lang.Object..を拡張することでしたが、それはできません。(右?)
他のアイデア?

私はここで新しいですが、私はこのサイトをフォローしているので、読んでくれてありがとう、そしてあなたが与えるすべての答え!(私は英語をお詫びします、私はイタリア人です)