Урок 15: Интерфейсы, абстрактные классы. Имплементация. // Котлин курс с нуля
Вставка
- Опубліковано 5 лип 2024
- 🔹 Тесты и практика по этому уроку: t.me/KotlinBasicsBot?start=yo...
🔹 Текстовая версия урока: clck.ru/39ZZaW
🛠 Код из всех уроков: t.me/ievetrov_dev
🛠 Личный телеграм канал про путь разработчика: t.me/ievetrov_dev
✅ Вопросы и ответы для Android собеседований: t.me/AndroidSprint_Interview
🔹 Бесплатный курс по Android: clck.ru/376Zab
🔹 VK: ievetrov.development
Немного затронем абстрактные классы в Kotlin. Объявим абстрактный класс с такими же полями и методами внутри него. Далее создадим дочерний класс космического шаттла Первого ордена и имплементируем в него поля и методы родителя. Не смотря на общую схожесть интерфейсов и абстрактных классов, расскажу про их функциональные отличия. Научимся создавать интерфейсы и станет понятно по какому принципу лучше их объединять. Далее покажу как применять те или иные интерфейсы к классам. Делать это будем с базовым классом, так как весь функционал автоматически передастся дочерним классам. Наконец, создадим экземпляр конкретизированного класса с типом космического шаттла и проверим корректность отработки реализованных методов интерфейсов.
00:00 Абстрактные классы
00:27 Свойства и методы абстрактных классов
01:17 В каких случаях используют интерфейсы
02:02 Функционал интерфейсов
02:35 Объявление методов в интерфейсах
03:58 Реализация абстрактных методов в интерфейсах
#kotlin #котлин #программирование
Ссылки и содержание:
🔹 Тесты и практика по этому уроку: t.me/KotlinBasicsBot?start=youtube
🔹 Текстовая версия урока: clck.ru/39ZZaW
🛠 Код из всех уроков: t.me/ievetrov_dev
🛠 Личный телеграм канал про путь разработчика: t.me/ievetrov_dev
✅ Вопросы и ответы для Android собеседований: t.me/AndroidSprint_Interview
🔹 Бесплатный курс по Android: clck.ru/376Zab
🔹 VK: vk.com/ievetrov.development
00:00 Абстрактные классы
00:27 Свойства и методы абстрактных классов
01:17 В каких случаях используют интерфейсы
02:02 Функционал интерфейсов
02:35 Объявление методов в интерфейсах
03:58 Реализация абстрактных методов в интерфейсах
Ты привёл сложный и неудачный пример в этом уроке.
Но я вроде понял благодаря другим ресурсам, те, кто не понимал также как и я, посмотрите этот код, думаю станет понятнее:
// Определяем интерфейс
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()
}
Выходной результат будет:
```
Гав-гав!
Бегает
Чик-чирик!
Летает
```
Спасибо, стало понятнее
Когда до меня дошло, насколько это просто и полезно, если есть план на проэкт и ты реально начинаешь думать как это реализовать
Спасибо, только-только начал изучать эту тему, и тут ваше видео!)
Спасибо, великолепное попадание ))
Что-то в этом уроке прям намудрил. До этого как-то попроще было воспринимать
Почитай мой коммент, если ещё не разобрался.
@@fastwalker3551 так-то да, разобрался, но спасибо, пример более чёткий, думаю, новичкам понятнее будет)
Позвольте вопрос, а зачем наследоваться, если проще импоементировпться, тогда не надо работать с super пробрасывать данные в родительские классы?
Вопрос к людям, которые уже что-то умеют после просмотра этих и может быть других курсов. Хочу научиться программированию и сменить профессию. Заинтересовала андроид разработка. По данной теме не так много видео, как по остальным языкам. Получится ли при старании и имеющимся данным в этом курсе, да и вообщем на ютубе, достигнуть начального уровня программирования и пытаться выполнять заказы на фрилансе или куда-то устроиться? Много где видел, что люди в других языках вроде общие понятия имеют, но отшлифовать свои знания до полноценного начального уровня не могут. Банально из-за дефицита информации.
И хватит ли знаний языка котлин или нужно все же знать ещё и джава для начала?
Заранее благодарю за ответ)
1) java можно и не знать 2)Есть книга: Android для профессионалов в открытом доступе(пиратка) там всё подробно пишут. Дефицит информации не от того, что инфы мало, а от того, что вы не знаете куда двигаться и что изучать.
ну как, есть прогресс в изучении и какие то первые приложения?
@@iJoji перешёл на фронтенд)) Успехов пока нет, но они где-то впереди.
Здравствуйте, подскажите пожалуйста какое железо должно быть у ноутбука для комфортной разработки мобильных приложений и работы в Android Studio?
Здравствуйте. Рекомендую для разработки макбук с процессором на arm архитектуре (m1, m2 итд)
а еще требования есть на офиц. сайте developer.android.com/studio/install
Если на мак денег жалко или по понятным причинам его покупать нет желания ,то подойдут ноуты с процессорами(i7 начиная со 2 поколения, например i7 2670, i5 - 3 поколения ,ну и выше) главное при выборе ноутбука или стационарного ПК ,смотреть на количество ядер и герцовку процессора ,например хороший базовый вариант процессор с 4 ядрами и 8 потоками например с частотой 2,7 МГц в стоке, больше ядер лучше,+ для комфортной работы нужно 16 Гб оперативной памяти,почему не 8? Потому как помимо разработки в IDE ты явно будешь сидеть с открытым браузером ,возможно захочешь запустить что то ещё,8 Гб это в притык IDE + браузер .И нужен SSD накопитель желательно высокоскоростной ,но на начальном уровне подойдёт любой.
Итого конфигурация для комфортной работы для начала может быть такая :
проц i5 10400f / ryzen 5 4600h
Оперативка 16гб
SSD минимум 128гб
Видеокарта любая
Главное при выборе отталкиваться от процессора и оперативки
Ps. У меня ноут 2011 года ,стоит i7 3612qm 16gb оперативки 1866 МГц и ссд 256гб
Для начального уровня проектов и обучения этого вполне за глаза
А лучше брать не ноутбук. Сорри за оффтоп.
Чёт прям совсем запутанно(
intir
Я что то не пойму, начало видео, звучат слова обстрактрный класс запрещают создание экземпляров базового класса, обстоактный класс создан для описания будущих класов, а как они могуб быть будушими если их создание запрещено ?
Абстрактный класс это класс который не предполагает создание экземпляров класса значит вкратце ты должен использовать абстрактый класс только для наследование а не для создания экземпляра данного класса и ещё экземпляр класса и будуюший класс наследник это не одно и тоже
первый орден? Т.е. всё таки кодим по мотивам SW? )))