将构造函数方法中的类的所有属性作为参数传递是否有意义?

时间:2018-01-17 11:59:36

标签: javascript oop

在构造函数方法中将类的所有属性作为参数传递是否有意义?

例如,

class Person {     
  constructor(name, surname, age, occupation, houseAddress, maritalStatus) {         
    this._name = name;         
    this._surname = surname;         
    this._age = age;         
    this._occupation = occupation;         
    this._houseAddress = houseAddress;         
    this._maritalStatus = maritalStatus;
    /// methods...     
  } 
}

1 个答案:

答案 0 :(得分:1)

一切皆有可能,但有很多参数作为输入参数,它被认为是bad practice

作为一种缓解措施,您可以考虑在结构中包含使语义更有意义的属性。

另一方面,尽管你拥有构造时需要的所有数据,但是没有完全初始化构造函数中的对象,这是一个更糟糕的解决方案。除非你有义务这样做,否则绝不允许对象单一化。