当多个类存在相同的属性时,可以考虑使用继承和接口来优化代码

继承

如果多个类之间存在共同的属性,可以创建一个父类,将这些属性定义在父类中,然后让这些类继承该父类,从而避免在每个类中重复定义属性。

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类定义了共同的属性name,而Student类和Teacher类分别继承了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
今日推荐