// Beispiel 1

module DuckTyping {

 export interface IPerson {
  name: string;
  ort: string;
  toString(): string;
 }

 export class Mitarbeiter {
  public name: string;
  public ort: string;
  private gehalt: number;
  toString(): string {
   return this.name + " wohnt in " + this.ort;
  }
 }

 export function DemoTypAequivalenz() {

  // Beispiel1
  var HerrMeier: IPerson;
  HerrMeier = new Mitarbeiter();
  HerrMeier.name = "Max Meier";
  HerrMeier.ort = "Berlin";
  ausgabe(HerrMeier.toString());


  // Beispiel 2

  var k2: { id: number; };
  k2 = new DemoKunden.GO.Kunde(456, "Manfred Steyer", "Graz");
  var schluesselwert: number = k2.id;
 
  ausgabe("k2-Id:" + schluesselwert.toString());


  var k3 = <DemoKunden.GO.IKontakt> { id: 10 };
  ausgabe("ID: " + k3.id + " Name: " + k3.name);


 }
}

