面向对象的JavaScript-003

1.

1 // Since JavaScript doesn't exactly have sub-class objects, prototype is a useful workaround to make a "base class" object of certain functions that act as objects. For example:
 2     var Person = function() {
 3       this.canTalk = true;
 4     };
 5
 6     Person.prototype.greet = function() {
 7       if (this.canTalk) {
 8         console.log('Hi, I am ' + this.name);
 9       }
10     };
11
12     var Employee = function(name, title) {
13       Person.call(this);
14       this.name = name;
15       this.title = title;
16     };
17
18     Employee.prototype = Object.create(Person.prototype);
19     Employee.prototype.constructor = Employee;
20
21     Employee.prototype.greet = function() {
22       if (this.canTalk) {
23         console.log('Hi, I am ' + this.name + ', the ' + this.title);
24       }
25     };
26
27     var Customer = function(name) {
28       Person.call(this);
29       this.name = name;
30     };
31
32     Customer.prototype = Object.create(Person.prototype);
33     Customer.prototype.constructor = Customer;
34
35     var Mime = function(name) {
36       Person.call(this);
37       this.name = name;
38       this.canTalk = false;
39     };
40
41     Mime.prototype = Object.create(Person.prototype);
42     Mime.prototype.constructor = Mime;
43
44     var bob = new Employee('Bob', 'Builder');
45     var joe = new Customer('Joe');
46     var rg = new Employee('Red Green', 'Handyman');
47     var mike = new Customer('Mike');
48     var mime = new Mime('Mime');
49
50     bob.greet();
51     // Hi, I am Bob, the Builder
52
53     joe.greet();
54     // Hi, I am Joe
55
56     rg.greet();
57     // Hi, I am Red Green, the Handyman
58
59     mike.greet();
60     // Hi, I am Mike
61
62     mime.greet();

面向对象的JavaScript-003

You can do anything you set your mind to, man!

Original: https://www.cnblogs.com/shamgod/p/5523313.html
Author: shamgod
Title: 面向对象的JavaScript-003

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536413/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球