Тёмный

Урок 3 - ООП - Java для тестировщиков 

Java Online Lessons
Подписаться 43 тыс.
Просмотров 152 тыс.
50% 1

Основы объектно-ориентированного программирования, объекты и классы, модификаторы доступа, поля класса.
Третий урок из курса Java для тестировщиков, который я провожу в компании, где я работаю. Курс учит базовому программированию на языке Java, объясняет основные понятия, знакомит с наиболее популярными библиотеками и средствами, которые могут пригодиться тестировщикам. Курс расчитан на слушателей, которые слабо подготовлены в программировании.
Программа курса доступна здесь: goo.gl/8iCNb
Все видео курса "Java для Тестировщиков":
• Java для тестировщиков
Все видео курса "Java Практика", который дополняет курс для тестировщиков, добавляя домашние задания и практику:
• Java практика
Подписаться на канал:
www.youtube.com...
Канал "Yuriy Tkach" - Уроки по программированию на Java: / ytkach

Опубликовано:

 

24 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 86   
@java-tkach
@java-tkach 2 года назад
Сбор средств для помощи ЗСУ 🇺🇦 Слава Україні! 🇺🇦 www.yuriytkach.com/volunteer
@MasterYOSky
@MasterYOSky 5 лет назад
Как же это все интересно! Спасибо большое за видео и уроки!
@JuliaShopgirl
@JuliaShopgirl 11 лет назад
А мне очень понравилось. Автор очень хорошо обьяснил тему, над которой засыпаешь при чтении любой книги про ООП.
@maxsimpleapps
@maxsimpleapps 10 лет назад
Юрий,спасибо за материал! При самостоятельном изучении java очень помогают заполнить белые пятна,которые остаются в процессе чтения литературы!
@Лилия-ы1с
@Лилия-ы1с 6 лет назад
Спасибо за видео,очень все динамично,не занудно.Автор все очень доступно объясняет,главное на конкретных примерах-счета в банке и т.д.Это очень важно,потому,что теория может быть и понятна,а суть всего этого и для чего это вообще все нужно не совсем понятна,я имею ввиду новичков,которые не программировали вообще.
@ВладиславДовженко-у3й
Очень крутые видео,советую всем ,парень доносит все просто,быстро и с понятными примерами ))))
@LadyMFlame
@LadyMFlame 11 лет назад
те кто говорят что не понято или еще какие-то тупые комнеты типа "камера пляшет бесит" да вы спасибо скажите что бесплатно! все понятно для тех кто хоть раз даже в школе писал программу на любом языке,
@АллаФедчун
@АллаФедчун 8 лет назад
очень крутые уроки, хорошие примеры, объясняется все на пальцах, прекрасная подача материала.
@asket13c
@asket13c 11 лет назад
private: члены класса доступны только внутри класса; default (package-private) (модификатор, по-умолчанию): члены класса видны внутри пакета (если класс будет так объявлен он будет доступен только внутри пакета); protected: члены класса доступны внутри пакета и в наследниках; public: члены класс доступны всем; Последовательность модификаторов по убыванию уровня закрытости: private, default ,protected, public).
@crupppy
@crupppy 8 лет назад
Правильно тут пишут, что сначала почитайте книгу и потом приступайте к просмотру видео.. Ну или совмещайте, в разы понятней становится, что не понял в книге понял тут и на оборот :) Спасибо за такие видео!
@draackul
@draackul 8 лет назад
Не советую читать книги по Джава кор. По ним вы ничему не научитесь
@USER69473
@USER69473 8 лет назад
+crupppy ещё ни одной книги не прочёл, занимаюсь с ментором. Лишь из двух книг по одной главе прочёл, которые ментор же и посоветовал.
@МуравейТВ-щ9ю
@МуравейТВ-щ9ю 7 лет назад
Блин, это лучшие уроки по джава для новичков. Столько искал информацию на достуном языке и вот она! Спасибо.
@denyslvov4703
@denyslvov4703 6 лет назад
Ай, не звезди.
@java-tkach
@java-tkach 11 лет назад
Использовать наследование или агрегацию (поле в классе, которое ссылается на другой класс) - это вопрос из области проектирования программ. Поищите на stackoverflow вопрос "inheritance vs aggregation"
@LadyMFlame
@LadyMFlame 11 лет назад
супер человек! доходчиво и простым языком! респект!
@ПетрАндриец
@ПетрАндриец 11 лет назад
Отличные видеоуроки, Юрий. Спасибо! По поводу тех, кто не понимает, советую сначала читать книги, а потом закреплять выученное видеоуроками. Плюс Вы не только закрепите материал, а можете узнать некоторые новые нюансы со стороны программиста, которые подает Юрий в силу накопившегося опыта. Еще не понимаю, почему не подходит пример автомобиля. Очень даже подходит и очень даже максимально все понятно для меня исходя из него. Отдельное "спасибо" hazartilirot за дельные коменты!
@LooNaTeG2804
@LooNaTeG2804 13 лет назад
Отличные уроки !
@hovodab
@hovodab 13 лет назад
Молодцы!Спосибо за уроки!
@МшаБоро
@МшаБоро 11 лет назад
Правильно спроектированная ООП-программа должна содержать упоминание класса потомка в одном месте (при создании new!). В процедурно-ориентированной программе пришлось бы всё время анализировать кто да что и вносить массу изменений в код (в основном переключателей типа switch) при добавлении новой сущности. А в ООП красота, работаешь с суперклассом почти всё время, а методы вызываются соответственно сути потомка.
@k0rinf
@k0rinf 13 лет назад
Про static нормально обьяснил! Молодец)))
@Запиздюна
@Запиздюна 10 лет назад
спасибо тебе друг! Будешь в Питере - пиши - с меня простава, все понятно =))
@oleksandrhomyak
@oleksandrhomyak 9 лет назад
респектище. Я как программист 1С просто для себя решил выучить дополнительный язык. Но рекомендую смотреть видео уже после прочтения начинающей литературы. Очень хорошо просто усваивается. Ну мне так кажется...
@ButerTomatovich
@ButerTomatovich 7 лет назад
1С... программист.... яснопонятно
@ОленаБондар-ь9р
@ОленаБондар-ь9р 9 лет назад
Спасибо. все очень доступно!! ))
@alexandr9461
@alexandr9461 10 лет назад
02:23 вы говорите о структурном(процедурном) программировании. Функциональное программирование - это совсем другая тема.
@maxlich9139
@maxlich9139 7 лет назад
Тоже резануло слух. Тоже помню, что оно называлось процедурно-ориентированным.
@asddssdf
@asddssdf 13 лет назад
годные уроки
@darjascheschko3275
@darjascheschko3275 9 лет назад
Молодец!)
@java-tkach
@java-tkach 11 лет назад
То же самое, как и мой предыдущий ответ. Например: Collection < Employee > people; for (Employee man: people) { people.fire(); // в данном случае будет вызван метод конкретног рабочего. } // Где-то в методе инициализации... people.add(new Manager()); people.add(new Cleaner());
@vadimshabetya
@vadimshabetya 12 лет назад
когда компилятор сам выбирает метод в зависимости от того объект какого класса его вызывает - это динамическое связывание. а полиморфизм - это когда объектная переменная может иметь тип как своего класса так и своего супер класса.. например класс B расширяет A. public class B extends A{ B b = new B(); } вот к ссылке b мы можем обращаться как к ссылки и типа В и типа А...(сотрудники и менеджеры. к менеджеру можно обращаться как к менеджеру так и как к сотруднику, потому что он и есть сотрудник)
@dgurianov
@dgurianov 10 лет назад
В этом уроке самое сложное определение полиморфизма которое я когда либо видел. Как можно завязывать обьяснение полиморфизма в 3 уроке на Spring , если Spring обьясняется в 17 уроке?
@banerok
@banerok 10 лет назад
Даже я полиморфизм тут еле понял, зная его!))))
@java-tkach
@java-tkach 10 лет назад
Вспоминание о Spring при объяснении полиморфизма произошло, потому что аудитория знала, что такое Spring и немного представляла себе, как он работает.
@prodaction2961
@prodaction2961 7 лет назад
хардкор
@olegsamoylov9106
@olegsamoylov9106 8 лет назад
немного неправильно, модификатор доступа по умолчанию default, открывает доступ только внутри пакета, а protected дает доступ в пакете плюс наследниках
@maxlich9139
@maxlich9139 7 лет назад
в смысле "protected даём доступ в пакете плюс в наследниках"!? Это же тоже самое, что private, только ещё это поле или метод доступны у наследников.
@jopinfuyiro5570
@jopinfuyiro5570 4 года назад
апасеба, долго голову ломал почему лектор говорит, что из класса который не наследуется (класс С) мы не можем обратиться к переменной Protected. Оказывается можем, но лишь в одном пакете.
@java-tkach
@java-tkach 11 лет назад
Нет, это будет не так. Это будет: Tool t = new RushkaTool(); t.make(); // тут вызывается метод make() у RushkaTool, которые и нарисует рюшки. Конечно, в данном примере я напрямик создал RushkaTool, но в реальности конкретная реализация будет подставлятся, например, с помощью библиотеки Spring, хотя это и не важно. Главное, что класс, который вызывает t.make() ничего может не знать о конкретном подклассе - ему он будет передаваться в конструкторе или сеттере.
@artempapeta311
@artempapeta311 8 лет назад
Фокусировка камеры...
@vp_arth
@vp_arth 10 лет назад
По поводу полиморфизма лучше для этого юзать интерфейс ITool c методом make.
@fedorch1579
@fedorch1579 11 лет назад
Юрий не знаю посещаете ли вы ютуб для просмотра коментов, но у меня есть вопрос, зачем использовать наследование класса если можно добавить поле в первом классе
@jopinfuyiro5570
@jopinfuyiro5570 4 года назад
Не хотел бы я попасть на такие курсы, где на 3 занятии уже про наследование говорят.. Люди только пытаются понять что такое класс, а что такое объект, спрашиваю где с какой буквы писать. Я занимался месяц-полтора, прежде чем эту тему брать
@LobanovSpace
@LobanovSpace 7 лет назад
Не жалуйтесь на фокусировку камеры, она автоматом пытается найти фокус, когда он пропадает.
@Kirgan-ccb
@Kirgan-ccb 9 лет назад
Скажите, а практику можно смотреть после каждого занятия? Или сначала лучше всю теорию просмотреть?
@irenasmila
@irenasmila 11 лет назад
Интересно, но ошибки... При подведении итогов, что же такое наследование (где-то на 37й минуте), было упомянуто сокрытие реализации, но ведь это же инкапсуляция.
@Enerdzizer
@Enerdzizer 6 лет назад
Не совсем точно про видимость private. Сказано, что если у суперкласса есть переменная уровня private, то у наследников ее нет. Она у наследников есть и если есть публичный геттер у суперкласса, то до нее можно достучаться и из класса наследника. Однако хотя она у наследников и есть, но напрямую ее не видно, т.е. нельзя достучаться до нее через точку и имя переменной.
@МшаБоро
@МшаБоро 11 лет назад
"...Покажи мне свои классы и скажу кто ты..."
@Azazavr
@Azazavr 11 лет назад
Уроки отличные! А нет мысли записать более качественно и с прямого ракурса? Даже готов в этом помочь (штатив, камера) и послушать параллельно :)
@YuriyTkach
@YuriyTkach 11 лет назад
Спасибо! Рад, что нравятся уроки. Перезапись уроков пока что не планируется. В планах новые видео - технологии ведь тоже не стоят на месте :)
@Azazavr
@Azazavr 11 лет назад
Yuriy Tkach Готов помочь записывать и сразу слушать лекции :). Правда как базовый курс Java пройду (Нужна неделя +-) чтобы в кашу обучение не превратить.
@McSSm
@McSSm 11 лет назад
0:43 что значит "попало".. кто и куда? если есть Tool t = new Tool; то КАК t.make() нарисует дополнительно звезды и рюшки? еще и с учетом того, что "мы о них и не знаем".
@TheLexass
@TheLexass 12 лет назад
не пойму, как в суперклассе можно вызывать методы подклассов, если суперкласс по-определению ничего не знает о своих наследниках и есть ли они вообще у него?
@chertog_of_Veles
@chertog_of_Veles 7 лет назад
Блин ну звук, не синхронно с тем что показывает и говорите Вы!!!!!!!!!!!!как разобраться ?
@McSSm
@McSSm 11 лет назад
Как это выглядит? Employee man = new Employee; // или new Manager или new Cleaner // а потом man.fire(); // так? я вот не понял в видео.. где-то в 0:45 если есть Tool t = new Tool (а про другие рюшечки я и не знаю) то с каким макаром t.make() нарисует рюшки? ктото понял?
@denissapon9161
@denissapon9161 10 лет назад
Автору следовало почитать литературу перед объяснением ООП и не следовало ссылаться на языки в которых не разбирается(судя потому, что говорит автор, он не силен в С++). При чем тут композияция к множественному наследованию? Раз уж начал говорить о множественном наследовании, то надо было говорить, что проблема решена интерфейсами. А композиция это лишь один из способов задания нового класса
@YuriyTkach
@YuriyTkach 10 лет назад
Согласен! За 4 года создания программ на языке С++ я всё же не овладел им в таком совершенстве, в каком Вы владеете языком русским. :)
@denissapon9161
@denissapon9161 10 лет назад
Yuriy Tkach Камень в огрод принят. Но к теме не относится )
@weekend-warri0r
@weekend-warri0r 6 лет назад
Все понятно кроме полиморфизма. Где можно наиболее внятно про него посмотреть?
@hotdog75rus
@hotdog75rus 10 лет назад
Стрелки как-то не логично от потомка к родителю рисовать, всегда вроде как наоборот было :) В верху дерева родитель, а ниже потомки.
@java-tkach
@java-tkach 10 лет назад
Есть стандарты общепринятые. Когда показываем отношение родитель-потомок, то стрелка рисуется от потомка к родителю: ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2#.D0.9E.D0.B1.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D0.B5_.28.D0.BD.D0.B0.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.29
@hotdog75rus
@hotdog75rus 10 лет назад
Уже прочитал, спасибо. Видимо у меня искаженное восприятие.
@deniska1359
@deniska1359 11 лет назад
На самом деле убогое представление информации, очень сложная для восприятия. Для тех, кто первый раз сталкиваются с ООП - уверен было бы нечего не понятно: 1. Отсутствие структурированности подачи (понятное дело ООП за час рассказать практически нереально, но прыгать с темы на тему это хреново) 2. Сложные примеры: платежи или тот-же автомобиль, тут бы хорошо подошел пример с точкой, а потом прямой. Ну и 3. Следовало бы заранее подготовится. Ну а в целом хорошо)
@СергейСенько-ч9щ
@СергейСенько-ч9щ 10 лет назад
Если не написать спецификатор полю то оно будет protected. Написать примитивный тест, он это покажет что к protected полям можно обращаться из вне в пределах пакета.
@java-tkach
@java-tkach 10 лет назад
Не совсем верно. К protected полям можно получить доступ не только из других классов пакета, но также из подклассов. К полям с доступом по-умолчанию (без модификатора) нельзя получить доступ из подкласса, если последний находится в другом пакете. docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
@hedonisticway
@hedonisticway 8 лет назад
+Онлайн уроки по Java можно ли получить у Вас частные уроки
@java-tkach
@java-tkach 8 лет назад
Vova Bekasov К сожалению, нет.
@hedonisticway
@hedonisticway 8 лет назад
жаль
@bekzhandossanov140
@bekzhandossanov140 7 лет назад
а я не понял полиморфизм ((
@One-rz9rb
@One-rz9rb 7 лет назад
Что с камерой, она живая?
@Lordlenoks
@Lordlenoks 13 лет назад
Под конец диктор запутался)
@nychka
@nychka 13 лет назад
він перепутав package з модифікатором доступу default'ом.. нічо буває)
@andreysorin3096
@andreysorin3096 2 года назад
Неудачный урок :( Совершенно неверное понимание парадигм программирования, путаница с определениями: ООП, функциональным, процедурным программинованием и пр, ...
@СергейКондрашов-э4б
Автор перепутал Функциональное программирование с Процедурным.
@Artemgibs
@Artemgibs 8 лет назад
ни хрена не понятно что он там пи....т, слишко много говорит, мало пишет кодов. Сами коды плохо объясняет, какие-то поверхностные уроки на мой взгляд. На сайте webok хорошо объясняется без слов, но начиная с урока 7.2 отказ в доступе и никак его не откроешь.(((
@jane_doe_scaro
@jane_doe_scaro 8 лет назад
Все достаточно просто и ясно (ну, кроме объяснения полиморфизма в данном уроке). Просто параллельно желательно читать литературу. В принципе, эти уроки убирают все ненужную воду, что льют книги и подытоживают суть.
@Лилия-ы1с
@Лилия-ы1с 6 лет назад
Полиморфизм непонятно.
@ukrainesov21
@ukrainesov21 7 лет назад
Под конец видео автор уже пошел в разнос. Язык болтает вперед мыслей. Ничего непонятно. Все устали. Надо или уроки поменьше делать или структурировать рассказ, но никогда все в кучу не мешать.
@Krapawel
@Krapawel 12 лет назад
пляшущий фокус камеры бесит
@thi_N_ker
@thi_N_ker 7 лет назад
Жесть... знал это всё, понимал, легко решал задачи по этим темам, но НИЧЕГО не понял из этой лекции... Какой-то сумбур...
@ladysoverschenstvo7875
@ladysoverschenstvo7875 5 лет назад
Не о чем
Далее
КАК ВАМ ТАКОЙ ТЮНИНГ НИВЫ?
00:42
Просмотров 284 тыс.
DOTA 2 - ИНВОКЕР ИМБА!
24:17
Просмотров 268 тыс.
БЕЛКА РОДИЛА КОТЯТ#cat
00:20
Просмотров 1,2 млн
КАК ВАМ ТАКОЙ ТЮНИНГ НИВЫ?
00:42
Просмотров 284 тыс.