/media/sda-magnetic/david/Extern-Magnetic-2022-06-29/Extern01/Dokumente-2021-05-8/disk10-ab-2020-01-10/02-debian-pc2-work/informatik/java-new/2020-01-02/InterfaceTestThird.java


public class InterfaceTestThird {
    public static void main (String [] args) {
        PersonA p1 = new PersonA ();
        PersonB p2 = new PersonB ();
        
        p1.setName ("David", "Vajda");
        p2.setName ("Anton", "Friedrich");
        
        p1.print ();
        p2.print ();
        
    }
    
    interface Person {
        void setName (String FirstName, String LastName);
        String toString ();
    }
    
    interface PrintPerson {
        void print ();
    }
    
    interface RealPerson extends Person, PrintPerson {}
    
    public static class PersonA implements RealPerson {
        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;
        }
        
        @Override 
        public void print () {
            System.out.println (this.toString());
        }
    }
    
    public static class PersonB implements RealPerson {
        String Name = null;
        
        @Override
        public void setName (String FirstName, String LastName) {
            this.Name = FirstName + " " + LastName;
        }
        
        @Override
        public String toString () {
            return this.Name;
        }
        @Override 
        public void print () {
            System.out.println (this.toString());
        }

    }
    

}