“...用一个函数将创建子类的代码包装起来,这样就可以在构造函数和方法链中使用父类的参数,而不需要写死某个类名的名字来使用它的参数。...(即类工厂)”
//这句话怎么理解?可以用简单代码说明下吗?
class Person{ constructor(name, type){ this.name = name; this.type = type; } static createChild(type){ return type === 'boy': new Boy(): new Girl(); } } class Boy extends Person{ constructor(name, 'boy'){ super(name); } } class Girl extends Person{ constructor(name, 'girl'){ super(name); } } Person.createChild('boy');
用了ES6的特性,简单看看吧。这句话描述得比较奇怪,个人感觉。
大神厉害,学习了~ :-0
/// <summary> /// 父母 /// </summary> public class Parents { //1Boy 0Girl public Parents GetChild(int WhatDoWant) { if (WhatDoWant == 1) { return new Boy(WhatDoWant); } else { return new Girl(WhatDoWant); } } public string Name { get; set; } public int Sex { get; set; } } /// <summary> /// 男孩 /// </summary> public class Boy : Parents { public Boy(int sex) { this.Sex = sex; } } /// <summary> /// 女孩 /// </summary> public class Girl : Parents { public Girl(int sex) { this.Sex = sex; } }
我是这样理解的。不对勿喷。
谢谢,是c#吧~