Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Уже немного познакомились с понятием интерфейса, абстрактного класса
- Эти знания нам пригодятся
- Дальше нам нужно уметь работать с умными объектами-локаторами
- которые создаются в момент вызова $(“#element”) или $$(“#list-element”)
- Как ты понимаешь, это 2 разных класса
- т к первый - в итоге работает с элементом, а второй - со списком элементов
- Но - для обоих нам нужно, чтобы в нужный нам момент мы могли получить по локатору
- веб элемент или список вебэлементов
- Именно это общее
- Но - возвращаемый тип - разный
- Значит - и без дженериков не обойдемся)
- Получаем, что в основе иерархии лежит интерфейс
- с методом getWrappedEntity
- посмотри наше решение, пока этот метод живет в кондишенах
- и я тебе в ревью говорила - что это пока костыль
- Вот эту функциональность = базовую функциональность для всех наших умных объектов-локаторов
- Мы и объявим базовой
- А с помощью дженериков обеспечим - чтобы метод getWrappedEntity мог возвращать тот тип
- который задан в <> для нашего интерфейса
- Далее
- Посмотри на кусок задания
- с которым мы будем далее работать
- http://joxi.ru/KAg8voQsgJGMEr
- По нему ясно, какие методы должны быть у
- умного объекта-локатора, который оперирует одним элементом
- и у умного объекта-локатора, который оперирует списком элементов
- Вот и реализуем интерфейсы для каждого из этих умных объектов,
- куда включим все эти методы
- Сразу думай о типах параметров и возвращаемых значений
- прими к сведению вот это
- http://stackoverflow.com/questions/1932247/abstract-classes-and-interfaces-best-practices-in-java
- http://joxi.ru/E2pdR1lFB1pyM2
- И уже после этого - реализуй классы,
- которые имплементируют наши интерфейсы
- Конструкторы классов будут на вход получать локаторы
- И более ничего не делать
- Надо будет реализовать все методы, которые были объявлены в интерфейсах
- should-методы - должны оперировать нашими умными ожиданиями
- мы уже практически все подготовили для этого
- но адаптировать все же придется
- попробуй разобраться самостоятельно)
Advertisement
Add Comment
Please, Sign In to add comment