Урок 15: Интерфейсы, абстрактные классы. Имплементация. // Котлин курс с нуля

preview_player
Показать описание


Немного затронем абстрактные классы в Kotlin. Объявим абстрактный класс с такими же полями и методами внутри него. Далее создадим дочерний класс космического шаттла Первого ордена и имплементируем в него поля и методы родителя. Не смотря на общую схожесть интерфейсов и абстрактных классов, расскажу про их функциональные отличия. Научимся создавать интерфейсы и станет понятно по какому принципу лучше их объединять. Далее покажу как применять те или иные интерфейсы к классам. Делать это будем с базовым классом, так как весь функционал автоматически передастся дочерним классам. Наконец, создадим экземпляр конкретизированного класса с типом космического шаттла и проверим корректность отработки реализованных методов интерфейсов.

00:00 Абстрактные классы
00:27 Свойства и методы абстрактных классов
01:17 В каких случаях используют интерфейсы
02:02 Функционал интерфейсов
02:35 Объявление методов в интерфейсах
03:58 Реализация абстрактных методов в интерфейсах

#kotlin #котлин #программирование
Рекомендации по теме
Комментарии
Автор

Ссылки и содержание:



00:00 Абстрактные классы
00:27 Свойства и методы абстрактных классов
01:17 В каких случаях используют интерфейсы
02:02 Функционал интерфейсов
02:35 Объявление методов в интерфейсах
03:58 Реализация абстрактных методов в интерфейсах

ievetrov
Автор

Ты привёл сложный и неудачный пример в этом уроке.
Но я вроде понял благодаря другим ресурсам, те, кто не понимал также как и я, посмотрите этот код, думаю станет понятнее:

// Определяем интерфейс
interface Animal {
fun sound()
fun move()
}

// Класс, реализующий интерфейс
class Dog : Animal {
override fun sound() {
println("Гав-гав!")
}

override fun move() {
println("Бегает")
}
}

class Bird : Animal {
override fun sound() {
println("Чик-чирик!")
}

override fun move() {
println("Летает")
}
}

fun main() {
val dog = Dog()
dog.sound()
dog.move()

val bird = Bird()
bird.sound()
bird.move()
}

Выходной результат будет:

```
Гав-гав!
Бегает
Чик-чирик!
Летает
```

fastwalker
Автор

Когда до меня дошло, насколько это просто и полезно, если есть план на проэкт и ты реально начинаешь думать как это реализовать

sgpkgoe
Автор

Спасибо, только-только начал изучать эту тему, и тут ваше видео!)

kluster
Автор

Что-то в этом уроке прям намудрил. До этого как-то попроще было воспринимать

zettachad
Автор

Позвольте вопрос, а зачем наследоваться, если проще импоементировпться, тогда не надо работать с super пробрасывать данные в родительские классы?

edebcxo
Автор

Здравствуйте, подскажите пожалуйста какое железо должно быть у ноутбука для комфортной разработки мобильных приложений и работы в Android Studio?

iJoji
Автор

Вопрос к людям, которые уже что-то умеют после просмотра этих и может быть других курсов. Хочу научиться программированию и сменить профессию. Заинтересовала андроид разработка. По данной теме не так много видео, как по остальным языкам. Получится ли при старании и имеющимся данным в этом курсе, да и вообщем на ютубе, достигнуть начального уровня программирования и пытаться выполнять заказы на фрилансе или куда-то устроиться? Много где видел, что люди в других языках вроде общие понятия имеют, но отшлифовать свои знания до полноценного начального уровня не могут. Банально из-за дефицита информации.
И хватит ли знаний языка котлин или нужно все же знать ещё и джава для начала?
Заранее благодарю за ответ)

PVS_
Автор

Я что то не пойму, начало видео, звучат слова обстрактрный класс запрещают создание экземпляров базового класса, обстоактный класс создан для описания будущих класов, а как они могуб быть будушими если их создание запрещено ?

igorjazz
Автор

первый орден? Т.е. всё таки кодим по мотивам SW? )))

xxxbunx