0
に私が保護されたメソッドfooとfooへのパブリック・アクセスを許可したい子クラスを、持っている基本クラスを、持っています。このメソッドは非常に頻繁に呼び出されるので、不要な関数呼び出しを保存することは素晴らしいことです。これを達成するための「より良い」ソリューションがありますか?私の現在のハック:Aの他のすべてのサブクラスは内部でのみのfooにアクセスするものとしてメイク方法の国民は、サブクラス
abstract class A {
protected foo(X:T) {...}
}
class B extends A {
foo(X:T) {super.foo(X);}
}
B.prototype.foo = (<any>A.prototype).foo;
は、fooは公共作りAでは、オプションではありません。特別な子供Bだけが外からのfooへのアクセスを許可しなければならない。
最も簡単な方法は、ちょうどあなたが行っているとして、スーパーコールを使用し、パフォーマンスに関する仮想マシンの心配をできるようになります。 :) – toskv
サブクラスのメソッド名をオプションに変更していますか? – Saravana
@toskv「これを行う(プロトタイプを変更せずに)パフォーマンスに影響はありません」と言っているのは、この質問に対する正当な答えです。 – Alfi