Какую функцию выполняет конструктор в классе ImageReaderFactory
Matvey Tratsevsky
25 уровень
Зачем конструктор в классе ImageReaderFactory
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Дмитрий
12 февраля 2022, 19:52
Вы б хотя бы код приложили, там вроде и нет никакого конструктора, только метод который возвращает ImageReader
0
Matvey Tratsevsky
12 февраля 2022, 20:17
0
Дмитрий
12 февраля 2022, 20:22решение
Приватный конструктор запрещает создание объектов этого класса, т.е. снаружи мы не можем вызвать конструктор. В итоге мы можем пользоваться только статическим методом этого класса.
Паттерн Singleton реализован таким же образом, запрещаем конструктор и делаем метод в котором возвращаем единственный инстанс класса, который можем создать только внутри класса т.к. внутри можем вызвать приватный конструктор
+2
Дмитрий
12 февраля 2022, 20:30
У меня задание приняло без создания конструктора
0
r00b1kExpert
12 февраля 2022, 19:39
Любой конструктор нужен для инициализации объекта т.е. подготовить его для того что бы с ним можно было работать(проинциализировать поля и т.д.).
Даже если ты его не прописываешь, он есть по умолчанию. Так же, что не маловажно, нужно проинциализировать(запустить конструктор) родственников(по умолчанию Обжект).
На худой конец, правами на конструктор ты можешь запретить создавать объекты и\или иметь только 1(синглтон).
0
Matvey Tratsevsky
12 февраля 2022, 20:18
Но зачем создавать конструктор без полей как в этом случае?
*решение от JavaRush
0
r00b1kExpert
13 февраля 2022, 01:54
Я кстати в своем решении не закрывал конструктор прайветом....
но думаю идея в том, что у нас класс-обветка которая выдает другие объекты, поэтому и смысла в создании объекта нашего класса нет. Поэтому конструктор закрыли.
Есть другой вариант - патерны - это структурирование кода т.е. согласовали как надо делать фабрики и надо этого придерживаться :)
+1