Мы продолжаем эксперименты с самым популярным и востребованным шаблоном проектирования: "Итератор". На этом уроке мы напишем ещё один Итератор, который будет перебирать цифры числа.
Дата отправки отчёта:
14 ноября 2019 г.
Задание выполнено: за
4 час. 13 мин.
Чему научился:
суть итератора остаётся неизменной при всех ухищрениях наследования, перегрузки и удочерения классами классов - проверь наличие следующего элемента для обработки и вторым методом обработай его как требуется не забыв тут же инкрементировать, что бы перейти к следующему элементу Набросали три класса, один из которых пээсвээм, оставшиеся - находятся в родственной связи (один в другом) Пр0грам запускает цикл для перебора последовательности и возвращает на экран результат работы Родственники заняты иным Диджитс имплементит Итерабл и присваивает намберу значение аргумента на входе в конструкторе Дочерний ДиджитсИтератор имплементит уже Итератор и содержит базовые методы проверки следующего элемента и второй метод, занятый возвращением остатка от деления на 10 и целочисленным делением для «откусывания» хвоста числа с целью перехода к следующей цифре слева направо
Почитал матчасть, дополню написанное в отчете. Метод next() получает следующий элемент ряда, а метод hasNext() проверяет наличие следующего элемента ряда и заодно следит, а не достигнуто ли того ряда окончание. hasNext() - булевский метод, возвращает ИСТИНА при наличии куда двигаться, и ЛОЖЬ если коллекция закончена. Следует соблюдать последовательность вызова этих методов и hasNext() вызывать перед вызовом метода next()
Отчёт оценивали: 23309. Glebov Alexandr Leonidovich09480. Кирилл+1791. Валерий Жданов+12146. Иван+117425. ser2018+118842. Степан+122955. Vladimir+122883. Илья+122309. Xa4_Xakum+17119. Новопашин Владимир+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: суть итератора остаётся неизменной при всех ухищрениях наследования, перегрузки и удочерения классами классов - проверь наличие следующего элемента для обработки и вторым методом обработай его как требуется не забыв тут же инкрементировать, что бы перейти к следующему элементу
Набросали три класса, один из которых пээсвээм, оставшиеся - находятся в родственной связи (один в другом)
Пр0грам запускает цикл для перебора последовательности и возвращает на экран результат работы
Родственники заняты иным
Диджитс имплементит Итерабл и присваивает намберу значение аргумента на входе в конструкторе
Дочерний ДиджитсИтератор имплементит уже Итератор и содержит базовые методы проверки следующего элемента и второй метод, занятый возвращением остатка от деления на 10 и целочисленным делением для «откусывания» хвоста числа с целью перехода к следующей цифре слева направо
Трудности: сначала запутался, но потом распутался. Сначала не мог понять, почему это всё работает, ведь мы нигде не вызываем методы next() и hasNext(), а также метод, который создаёт итератор и прям уже руки опустились, когда вдруг вспомнил, что мы реализуем встроенный в джаву итератор, которому просто задаём алгоритм, а все вызовы делаются автоматом. А все эти методы мы вызывали в ручную когда реализовывали свои интерфейсы итераторов. Правильно я разобрался хоть ?