title: Typescript inheritance
body: <p>I have some questions about typescript/javascript inheritance. I have the following base class (express controller router):</p>
  
  <pre><code>abstract class BaseCtrl {
    abstract model;
  
    // Get all
    getAll = (req, res) =&gt; {
      this.model.find({}, (err, docs) =&gt; {
        if (err) { return console.error(err); }
        res.json(docs);
      });
    };
  export default BaseCtrl;
  </code></pre>
  
  <p>And the following class that implements that base:</p>
  
  <pre><code>import BaseCtrl from './base';
  import Card from '../models/card';
  
  export default class CardCtrl extends BaseCtrl {
    model = Card;
  
    getAll = (req, res) =&gt; {
      super.getAll(req, res);
    }
  
  }
  </code></pre>
  
  <p>This code gives me the error:</p>
  
  <blockquote>
    <p>Only public and protected methods of the base class are accessible via the super keyword</p>
  </blockquote>
  
  <p>I would like to know how to call the super method. Can anyone help me?</p>