1.4-Software-Development-Principles

Method operators

Voor deze opdracht moet je zelf even een IntelliJ project aanmaken.

Gebruik voor alle opdrachten de onderstaande klasse Person (of maak je eigen variant):

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

Stap 1: Method operators met static methoden

Maak een klasse Step1 en voeg onderstaande main methode toe. Implementeer vervolgens het gevraagde forEach onderdeel waarbij je gebruik maakt van customPrint en method operators. Let er op dat dit letterlijk in 1 regel kan!

public class Step1 {

    public static void main(String[] args) {
        List<Person> values = Arrays.asList(new Person("Tom"), new Person("Jack"), new Person("Jill"));

        // TODO: Print each person using "forEach" and the customPrint method.
    }

    public static void customPrint(Person p){
        System.out.println(p.getName());
    }
}

Stap 2: Method operators op objecten

Schrijf een klasse MyCustomPrinter (of vergelijkbaar) en geef deze de volgende (eenvoudige) implementatie:

public class MyCustomPrinter {

    public void doPrint(Person p){
        System.out.println(p.getName());
    }
}

Schrijf nu een klasse Step2 met de volgende main methode:

public static void main(String[] args) {
    List<Person> values = Arrays.asList(new Person("Tom"), new Person("Piet"), new Person("Henk"));

    MyCustomPrinter somePrinter = new MyCustomPrinter();
    
    // TODO: Print each person using "forEach" and somePrinter.
}

Schrijf, net zoals bij de vorige opdracht, een forEach statement die alle objecten in values print met je eigen gemaakte printer. Gebruik ook hier weer method operators.

Stap 3: Method operators en methoden in de klasse zelf

Pas tenslotte je klasse Person iets aan zodat deze zelf een print methode heeft (bijv. doPrint()). Schrijf daarnaast een klasse Step3 waarin je (weer) een forEach statement schrijft dat gebruik maakt van deze net geschreven methode.

public static void main(String[] args) {
    List<Person> values = Arrays.asList(new Person("Tom"), new Person("Piet"), new Person("Henk"));
    
    // TODO: Print each person using "forEach" the doPrint method located in the Person class.
}