【发布时间】:2020-07-06 18:25:47
【问题描述】:
SonarQube 给我这个错误:“一个抽象类应该有抽象和具体的方法”这个类:
public abstract class Person {
protected String emailAddress;
protected String firstName;
protected String lastName;
protected Timestamp createdDate;
// public getters and setters
我使用这个类来实现对这个 DTO 的继承
public class FacultyDTO extends Person implements Serializable {
private static final long serialVersionUID = 1L;
private Integer userId;
private Integer clientId;
private String status;
// getters and setters for fields above
public class StudentDTO extends Person implements Serializable {
private static final long serialVersionUID = 1L;
private Integer studentId;
// getters and setters for fields above
但是 Sonar 说要将 Person 修改为具有私有构造函数的具体类,这样我就无法将其扩展为实现继承。我在做什么是不好的做法?
【问题讨论】:
-
继承对于代码重用来说是一个糟糕的工具。这可能是一个更喜欢组合而不是继承的时候。
标签: java inheritance sonarqube