码迷,mamicode.com
首页 > 其他好文 > 详细

[TypeScript] Inheritance

时间:2015-11-02 06:39:41      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

Inheritance is a way to
indicate that a class receives behavior from a parent class. Then we can override, modify or augment
those behaviors on the new class.

 

 1  class Report {
 2     data: Array<string>;
 3 
 4    constructor(data: Array<string>) {
 5      this.data = data;
 6    }
 7 
 8    run() {
 9      this.data.forEach(function(line) { console.log(line); });
10    }
11  }

 

Call the class:

var r: Report = new Report([‘First line‘, ‘Second line‘]);
r.run();

 Result:

 First line
 Second line

 

Now let’s say we want to have a second report that takes some headers and some data but we still
want to reuse how the Report class presents the data to the user.
To reuse that behavior from the Report class we can use inheritance with the extends keyword:

 class TabbedReport extends Report {
     headers: Array<string>;

    constructor(headers: string[], values: string[]) {
       this.headers = headers;
       super(values)  // In Report class : data
    }

   run() {
   console.log(headers);
     super.run();
   }
 }

 

Run:

var headers: string[] = [‘Name‘];
var data: string[] = [‘Alice Green‘, ‘Paul Pfifer‘, ‘Louis Blakenship‘];
var r: TabbedReport = new TabbedReport(headers, data)
r.run();

 

[TypeScript] Inheritance

标签:

原文地址:http://www.cnblogs.com/Answer1215/p/4929127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!