Код со скриншота:
interface Do {
fun doing ()
}
class Teacher() : Do {
override fun doing () {
println("Im teaching students..")
}
}
class Programmer() : Do {
override fun doing() {
println("Im writing programs..")
}
}
fun main() {
val person1: Do = Programmer()
person1.doing()
val person2: Programmer = Programmer()
person1.doing()
}
У нас есть интерфейс в котором есть абстрактный метод doing для реализации классов которые наследуют этот интерфейс, при создании объекта класса который наследует этот интерфейс мы можем указать тип как класса так и тип интерфейса, вопрос, есть ли разница какой тип указывать ?