複数のクラスが同じ属性を持つ場合は、継承とインターフェイスを使用してコードを最適化することを検討してください。

継承する

複数のクラス間に共通の属性がある場合は、親クラスを作成し、親クラスでこれらの属性を定義して、これらのクラスに親クラスを継承させることで、各クラスで属性を繰り返し定義することを避けることができます。

public class Person {
    protected String name; // 共同的属性

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

public class Student extends Person {
    private int grade; // 学生特有的属性

    // 学生特有的方法
    public void setGrade(int grade) {
        this.grade = grade;
    }

    public int getGrade() {
        return grade;
    }
}

public class Teacher extends Person {
    private String subject; // 教师特有的属性

    // 教师特有的方法
    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getSubject() {
        return subject;
    }
}

上記の例では、Personクラスが共通の属性名を定義しており、StudentクラスとTeactureクラスがそれぞれPersonクラスを継承することで共通の属性を持っている。これにより、Student クラスと Teacher クラスで name 属性の定義を繰り返すことがなくなります。

インターフェース

複数のクラスに同じ動作が存在する場合は、インターフェイスを使用してこれらの動作を定義し、それらのクラスにそのインターフェイスを実装させることができます。属性のアクセス方法はインターフェースで定義できます。

public interface Identifiable {
    String getId(); // 声明获取ID的方法
}

public class Student implements Identifiable {
    private String id; // 学生特有的属性

    // 实现接口定义的方法
    public String getId() {
        return id;
    }
}

public class Teacher implements Identifiable {
    private String id; // 教师特有的属性

    // 实现接口定义的方法
    public String getId() {
        return id;
    }
}

上記の例では、Identifiable インターフェイスで ID を取得するメソッドが定義されており、Student クラスと Teacher クラスの両方がインターフェイスを実装して ID を取得するメソッドを実装しています。これにより、同じ動作が均一に定義され、コードの重複が回避されます。

継承とインターフェイスを使用すると、コードを最適化し、同じプロパティの定義の繰り返しを回避し、コードの保守性と再利用性を向上させることができます。同時に、オブジェクト指向設計原則への適合性が向上し、コードのカプセル化とスケーラビリティが向上します。

おすすめ

転載: blog.csdn.net/weixin_43866250/article/details/131954004