/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-03/java-new/2020-01-02/InterfaceTest.java


public class InterfaceTest {
    public static void main (String [] args) {
        Person p1 = new PersonA ();
        Person p2 = new PersonB ();
        
        p1.setName ("David", "Vajda");
        p2.setName ("Anton", "Friedrich");
        
        System.out.println (p1.toString());
        System.out.println (p2.toString());
    }
    
    interface Person {
        void setName (String FirstName, String LastName);
        String toString ();
    }
    
    public static class PersonA implements Person {
        String FirstName = null;
        String LastName = null;
        
        @Override
        public void setName (String FirstName, String LastName) {
            this.FirstName = FirstName;
            this.LastName = LastName;
        }
        
        @Override
        public String toString () {
            return this.FirstName + " " + this.LastName;
        }
    }
    
    public static class PersonB implements Person {
        String Name = null;
        
        @Override
        public void setName (String FirstName, String LastName) {
            this.Name = FirstName + " " + LastName;
        }
        
        @Override
        public String toString () {
            return this.Name;
        }
    }
    

}