問題タブ [extend]
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.
php - クラスを動的に拡張することは可能ですか?
基準に応じて、さまざまなクラス (最大数百) を拡張するために使用する必要があるクラスがあります。PHPでクラスを動的クラス名で拡張する方法はありますか?
インスタンス化で拡張子を指定するメソッドが必要になると思います。
アイデア?
php - PHP 拡張クラス プロパティ
PHP アプリケーションに 2 つのクラスがあります。たとえば、A を拡張する B です。クラス A には、他のプロパティの一部を SQL 挿入クエリの配列の形式で返す関数があります。
クラス B には、クラス A の値を維持しながら、クラス B のプロパティに対して同じことを行う同様の (同一の) 関数を持たせたいと考えています。すなわち:
IF すべて OK $mysqli->commit();
これを達成する最も簡単な方法は何ですか?アドバイスやアイデアを歓迎します。ありがとう!
codeigniter - codeigniter でクラス/ライブラリを拡張する必要はありません
codeigniter に関する私の仮定が正しいかどうかを確認したいですか?
MY_Controller が Controller を拡張する、MY_Model が Model を拡張するなど、より多くの機能をコアに含めようとする場合、通常はクラスを拡張します。
しかし、たとえば、チェックアウト ライブラリでチェックアウト情報 (例: product_id) を取得している場合、チェックアウト ライブラリ$this->load->library('product_lib',array('product_id'=>$product_id))
から $this->product_lib->product_name などを簡単に取得できますよね?
これ$this->load
は、product_lib (class checkout_lib extends product_lib) を拡張して、product_lib にあるメソッド/変数を使用できるようにするための「ハード コード」チェックアウト ライブラリと同じようなものです。
教えてください。
php - PHP クラスと継承、シリアル化
シリアル化された変数は、拡張されたクラスからの状態を保持していないようです。
シリアル化された変数を受け入れるどこかから直接呼び出されるクラスがあります。
管理クラスでエラーが発生します: unserialize() は、パラメーター 1 が文字列、(管理クラス ファイル) で指定された配列であると想定しています...
これはphpが継承を処理する方法ですか? または私のコードに何か問題がありますか?
c# - 私のコントロールは「クラス'System.Web.UI.UserControl'を拡張しないため、ここでは許可されていません」
だから私は別のヌードルスクラッチャーを持っています(とにかく私にとって)。
部分的なソースコードしかないCMSで独自のカスタムコントロールを作成しようとしています(つまり、ベンダーから提供されたサンプル)。基本的に、DataDefinitionContent
を拡張するというクラスを作成しましたControlBase
。さて、メタデータから得られるものから、ControlBase
拡張UserControl
するので、これはドラマなしで実行されると思いました。なぜこれが私にとってうまくいかないのか、誰かが何か光を当てることができますか?
私のクラス:
ControlBase:
私のascxファイル:
私が得ているエラー:
パーサーエラーメッセージ:'CMS.Admin.WebUI.CustomControls.DataDefinitionContent、CoA.Admin.WebUI、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'は、クラス' System.Webを拡張しないため、ここでは許可されていません。 UI.UserControl'。
1行目:<%@ Control Language = "C#" AutoEventWireup = "true" CodeBehind = "DataDefinitionContent.ascx.cs"
c# - 初心者: C# でクラスを拡張していますが、間違っていますか?
繰り返しになりますが、免責事項はまだC#とOOPを一般的に学習しているので、辛抱強くお待ちください:)
FileVersion
私は現在、ファイル名、ファイルタイプ、バイト単位のサイズ、ID、アップロード日、is-latest-version などのファイルに関連するプロパティのリストを基本的に含むというクラスを持つ CMS を使用しています。
のリストは、独自の一意の ID を持つ にFileVersion
含まれています。File
CMS から特定のファイルをダウンロードする場合、URL は次のようなものを使用して構築されます。
FileVersion
現在、私が取り組んでいる特定のコントロール (具体的にはドキュメントであるファイルを扱う)について、後で使用するために他のすべての情報と共に URL を保存できることは理にかなっています。そこで私がやろうと決めたのは、DocumentVersion
which extendsという独自のクラスを作成することFileVersion
です。これは次のようになります。
ここで、ここでインターフェースを実装する必要はないように思われることに注意してください。しかし、それを福音と見なさないでください。
FileVersion
ただし、次のDocumentVersion
ようにキャストしようとすると:
次の例外が発生します。
タイプ「Foo.CMS.FileVersion」のオブジェクトをタイプ「CoA.DocumentVersion」にキャストできません。
元の名前空間とは別の名前空間でクラスを拡張しようとしているからだと思いますが、前述のように、OOP は私にとって比較的新しいものなので、間違っている可能性があります。
よろしくお願いします。このコミュニティはとても貴重です!スキルが向上したら、少しお返しできることを願っています:)。
javascript - ExtJSでスーパークラスメソッドを呼び出すためのより良い方法
私が読んだすべてのExtJSドキュメントと例は、次のようなスーパークラスメソッドを呼び出すことを提案しています。
私はかなり長い間このパターンを使用してきましたが、主な問題は、クラスの名前を変更するときに、スーパークラスメソッドへのすべての呼び出しも変更する必要があることです。それは非常に不便です、しばしば私は忘れて、それから私は奇妙なエラーを追跡しなければなりません。
Ext.extend()
しかし、私が発見したソースを読むと、代わりに、プロトタイプに追加するsuperclass()
またはsuper()
メソッドを使用できることがわかりました。Ext.extend()
このコードでは、MyPanelの名前を別の名前に変更するのは簡単です。1行を変更するだけです。
しかし、私には疑問があります...
私はこれがどこにも文書化されているのを見たことがなく、古い知恵は、文書化されていない行動に頼るべきではないと言っています。
ExtJSソースコードでこれら
superclass()
とメソッドの単一の使用法を見つけられませんでした。supr()
使用しないのになぜ作成するのですか?たぶん、これらのメソッドはExtJSの古いバージョンで使用されていましたが、現在は非推奨になっていますか?しかし、それはとても便利な機能のようです、なぜあなたはそれを非推奨にするのですか?
それで、私はこれらの方法を使うべきかどうか?
java - 拡張せずに別のクラスのクラスのメソッドを使用する方法
私の質問が奇妙に聞こえたらごめんなさい笑私は説明しようとします。Karakter、Karakters、Orc、Humanの4つのクラスがあります。OrcとHumanはどちらもKarakterを拡張します。Karaktersは、Karakterを含むArrayListです。
OrcとHumanの両方にpublicStringgetRace()というメソッドがあります。Karaktersでこのメソッドを使用したいですか?!! 私がこれをやろうとすると、オークとヒューマンがカラクターではなくカラクターを拡張するので失敗します!これを行う方法はありますか?何か抽象的なものを作ることについて何か聞いた:P
ありがとう
jquery - Jquery:関数$ .fn.my_functionと他の関数が含まれていますが、どのように呼び出すことができますか?
私がこれを持っていると仮定します($ = jquery):
私はこれをネギで笑います$('.my_class').my_function();
今、私は特定のイベントへのコールバックでfooとbarを呼び出す必要があります。
どうすればそれらを呼び出すことができますか?