Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Interface Segregation Principle */
- // Before
- class Person {
- private final String firstName;
- private final String lastName;
- private final float gpa;
- private final String accountNumber;
- public Person(String firstName, String lastName, float gpa, String accountNumber) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.gpa = gpa;
- this.accountNumber = accountNumber;
- }
- public String getFirstName() {
- return firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public float getGpa() {
- return gpa;
- }
- public String getAccountNumber() {
- return accountNumber;
- }
- }
- class Accountant {
- public void paySalary(Person person) {
- System.out.println("Account number: " + person.getAccountNumber());
- }
- }
- // After
- interface Employee {
- public String getFirstName();
- public String getLastName();
- public String getAccountNumber();
- }
- interface Student {
- public String getFirstName();
- public String getLastName();
- public float getGpa();
- }
- class Person implements Student, Employee {
- private final String firstName;
- private final String lastName;
- private final float gpa;
- private final String accountNumber;
- public Person(String firstName, String lastName, float gpa, String accountNumber) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.gpa = gpa;
- this.accountNumber = accountNumber;
- }
- public String getFirstName() {
- return firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public float getGpa() {
- return gpa;
- }
- public String getAccountNumber() {
- return accountNumber;
- }
- }
- class Accountant {
- public void paySalary(Employee employee) {
- System.out.println("Account number: " + employee.getAccountNumber());
- }
- }
Add Comment
Please, Sign In to add comment