给出运用了面向对象设计的单一职责原则的大致代码
时间: 2024-05-07 17:15:25 浏览: 11
以下是一个示例代码,演示了如何运用单一职责原则:
```java
// 定义一个抽象类,表示一个人
abstract class Person {
protected String name;
public Person(String name) {
this.name = name;
}
// 定义一个抽象方法,表示人的行为
public abstract void doSomething();
}
// 定义一个工人类,继承自Person类
class Worker extends Person {
public Worker(String name) {
super(name);
}
// 实现父类定义的抽象方法,表示工人的行为
@Override
public void doSomething() {
System.out.println(name + " is working.");
}
}
// 定义一个学生类,继承自Person类
class Student extends Person {
public Student(String name) {
super(name);
}
// 实现父类定义的抽象方法,表示学生的行为
@Override
public void doSomething() {
System.out.println(name + " is studying.");
}
}
// 定义一个主函数,测试代码
public class Main {
public static void main(String[] args) {
Person worker = new Worker("Tom");
worker.doSomething();
Person student = new Student("Jerry");
student.doSomething();
}
}
```
在这个示例代码中,我们定义了一个抽象类`Person`,表示一个人。这个类有一个属性`name`,表示人的姓名,以及一个抽象方法`doSomething()`,表示人的行为。然后,我们定义了两个具体类`Worker`和`Student`,分别表示工人和学生。这两个类继承自`Person`类,并分别实现了`doSomething()`方法,表示他们各自的行为。最后,我们在主函数中通过创建`Worker`和`Student`对象来测试代码。
这个示例代码符合单一职责原则,因为每个类都只负责一个职责。`Person`类只负责定义人的属性和行为,而`Worker`和`Student`类分别负责具体的行为。这样,我们可以方便地扩展代码,添加新的职责或者新的人类,而不需要修改现有的代码。