var __extends = this.__extends || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    __.prototype = b.prototype;
    d.prototype = new __();
};
// Modul
var DemoFlug;
(function (DemoFlug) {
    var GO;
    (function (GO) {
        // #endregion "Schnittstelle#"
        /**
        * Klasse für einen Flug, verwendet IFlug
        */
        var Flug = (function () {
            /**
            * @param id Flugnummer
            * @param abflugort Abflughafen
            * @param zielort Zielflughafen
            * @param freiePlaetze Anzahl der freien Plaetze
            * @param datum Flugdatum
            */
            function Flug(id, abflugort, zielort, freiePlaetze, datum) {
                if (freiePlaetze === void 0) { freiePlaetze = 0; }
                this.id = id;
                this.abflugort = abflugort;
                this.zielort = zielort;
                this.freiePlaetze = freiePlaetze;
                this.datum = datum;
                if (Flug.alleFluege == null)
                    Flug.alleFluege = new Array();
                Flug.alleFluege.push(this);
            }
            /**
          *  Privates Instanzmitgled
          */
            Flug.prototype.getDatum = function () {
                return this.datum;
            };
            /**
            *  Oeffentliches Instanzmitgled
            */
            Flug.prototype.getInfo = function () {
                return "Flug " + this.getBasisInfo();
            };
            /**
            *  Oeffentliches Instanzmitgled
            */
            Flug.prototype.getBasisInfo = function () {
                return this.id + ": von " + this.abflugort + " nach " + this.zielort + " - am " + this.getDatum();
            };
            return Flug;
        })();
        GO.Flug = Flug;
        /**
        *  Spezialisierung von Flug
        */
        var FlugMitPilot = (function (_super) {
            __extends(FlugMitPilot, _super);
            function FlugMitPilot() {
                _super.apply(this, arguments);
            }
            //constructor()
            //{
            //    super();
            //}
            /**
            *  Oeffentliches Instanzmitgled
            */
            FlugMitPilot.prototype.getPilotInfo = function () {
                return "Flug " + _super.prototype.getBasisInfo.call(this) + " Pilot: " + this.Pilot;
                {
                }
            };
            return FlugMitPilot;
        })(Flug);
        GO.FlugMitPilot = FlugMitPilot;
    })(GO = DemoFlug.GO || (DemoFlug.GO = {}));
})(DemoFlug || (DemoFlug = {}));
//# sourceMappingURL=GO.Flug.js.map