@startuml
'https://plantuml.com/class-diagram

class FileOut implements Out, File{
    -String: fileName

    +FileOut(fileName)
}

class FileIn implements In, File {
    -String: fileName

    +FileIn(fileName)
}

class ConsoleInput implements In {
    -Scanner: scanner
}

interface Out {
    +void: writeLine()
}

interface In {
    +String: readLine();
}

interface File {
    +String: getFileName()
    +File: openFile()
}






@enduml