首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过构造函数设置子类属性:不好的做法?

通过构造函数设置子类属性的不好的做法是直接在子类的构造函数中使用this关键字来设置属性。这种做法存在以下几个问题:

  1. 违反了封装原则:子类直接访问父类的属性,破坏了类的封装性,使得子类对父类的实现细节产生依赖。
  2. 代码重复:如果多个子类都需要设置相同的属性,那么每个子类都需要重复编写相同的代码来设置属性,增加了代码的冗余和维护成本。
  3. 难以维护和扩展:如果需要修改属性的设置逻辑,那么需要在每个子类中进行修改,容易出错并且耗费时间。

更好的做法是使用父类的构造函数来设置属性,然后通过子类的构造函数调用父类的构造函数来完成属性的初始化。这样可以保持类的封装性,减少代码重复,并且方便维护和扩展。

以下是一个示例代码:

代码语言:txt
复制
class Parent {
  constructor(name) {
    this.name = name;
  }
}

class Child extends Parent {
  constructor(name, age) {
    super(name); // 调用父类的构造函数来设置属性
    this.age = age;
  }
}

const child = new Child('Tom', 10);
console.log(child.name); // 输出:Tom
console.log(child.age); // 输出:10

在这个示例中,父类Parent有一个属性name,子类Child通过调用super(name)来设置name属性,并且还可以添加自己的属性age。这样就实现了通过构造函数设置子类属性的良好做法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分59秒

037.go的结构体方法

16分55秒

Servlet编程专题-26-请求转发与重定向的理解

6分54秒

Servlet编程专题-28-重定向时的数据传递

15分50秒

Servlet编程专题-29-重定向时的数据传递的中文乱码问题解决

8分51秒

JSP编程专题-39-JSTL格式化标签库中的格式化数字标签

12分30秒

Servlet编程专题-39-后台路径特例举例分析

8分1秒

JSP编程专题-41-纯JSP开发模式

5分32秒

JSP编程专题-43-MVC开发模式

14分26秒

JSP编程专题-45-sms系统的实体类与数据库表定义

4分20秒

JSP编程专题-47-sms系统的登录页面定义

12分6秒

JSP编程专题-49-sms系统的loginServlet的跳转

1分46秒

JSP编程专题-51-sms系统的Dao的定义

领券