title: Angular2 Impelements vs imports
body: <p>I'm going through the Angular2 guide, and though the keyword <code>implements</code> is used in class definitions it is not really described thoroughly in the docs.</p>
  
  <p>For example, in the following:</p>
  
  <pre><code>export class CrisisDetailComponent implements OnInit, CanDeactivate {
  
    crisis: Crisis;
    editName: string;
  
    cancel() {
      this.editName = this.crisis.name;
      this.gotoCrises();
    }
  
    save() {
      this.crisis.name = this.editName;
      this.gotoCrises();
    }
  }
  </code></pre>
  
  <p><code>OnInit</code> is brought into the class by the <code>implements</code> keyword, but I've most commonly seen <code>OnInit</code> imported via <code>import {Component, OnInit} from 'angular2/core'</code> which is then used in class definitions.</p>
  
  <p>What is the utility of the <code>implements</code> keyword? And, <code>OnInit</code> is not used directly in this class definition, so why is it being brought into the class at all? Is <code>implements</code> making <code>OnInit</code> available to the <code>goToCrises()</code> method? If so, why couldn't you just inject <code>OnInit</code> into the component that defined <code>goToCrises()</code>? </p>
  
  <p>Thanks for any help.</p>