title: Typescript class inheritance: override ko.computed method
body: <p>I have simple classes:</p>
  
  <pre><code>/// &lt;reference path="..\typings\jquery\jquery.d.ts"/&gt;
  /// &lt;reference path="..\typings\knockout\knockout.d.ts"/&gt;
  
  module Some.Namespace {
  
      export class TestBase {
          public field1: KnockoutObservable&lt;string&gt; = ko.observable("");
  
          public onFieldChange: KnockoutComputed&lt;string&gt; = ko.computed(() =&gt; {
              return this.field1();
          }, this);
      }
  
      export class Test extends TestBase {
          public field2: KnockoutObservable&lt;string&gt; = ko.observable("");
  
          public onFieldChange() {
              super.onFieldChange() + this.field2();
          }
      }
  }
  </code></pre>
  
  <p>Problem, typescript doesn't allow to use keyword super in overridden method. It says:</p>
  
  <blockquote>
    <p>Error 1   Class 'Some.Namespace.Test' cannot extend class
    'Some.Namespace.TestBase':    Class 'Some.Namespace.Test' defines
    instance member function 'onFieldChange', but extended class
    'Some.Namespace.TestBase' defines it as instance member property.</p>
    
    <p>Error 2   Only public methods of the base class are accessible via the
    'super' keyword.</p>
  </blockquote>
  
  <p>How can I override knockout computed method and don't loose base method?</p>