ru
Joshua Bloch

Effective Java TM

Kitap eklendiğinde bana bildir
Bu kitabı okumak için Bookmate’e EPUB ya da FB2 dosyası yükleyin. Bir kitabı nasıl yüklerim?
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    или что один интерфейс является
    расширением другого (extend) для описания' уровня доступа
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Существует, однако, простая идиома, гарантирующая отсутствие
    экземпляров. Конструктор по умолчанию создается только тогда, когда у класса нет явных
    конструкторов, и потому запретить создание экземпляров можно, поместив в класс единственный
    явный закрытый конструктор
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Таким образом, если вы абсолютно уверены, что данный класс навсегда останется синглтоном,
    имеет смысл использовать первый вариант. Если же вы хотите отложить решение по этому вопросу,
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Статический метод генерации для
    синглтона возвращает единственный экземпляр этого класса, однако это можно легко изменить и
    возвращать, скажем, свой уникальный экземпляр для каждого, потока, обращающегося к этому методу.
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    В случае с синглтоном этот метод возвращает единственный экземпляр данного класса.
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Эти соглашения продолжают
    совершенствоваться, но два названия статических методов генерации стали уже общепринятыми:
    • valueOf' - возвращает экземпляр, который имеет то же значение,
    что и его параметры. Статические методы генерации с таким названием фактически
    являются операторами преобразования типов.
    • getlnstance - возвращает экземпляр, который описан параметрами, однако говорить о том,
    что он будет иметь то же значение, нельзя.
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Второй недостаток статических методов генерации состоит в том, что их трудно отличить от
    других статических методов. В документации АРI они не выделяются так, как это делается для
    конструкторов.
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Например, в архитектуре Col ections Framework невозможно создать подкласс ни для одного
    из классов реализации. Сомнительно, что в такой маскировке может быть благо, поскольку поощряет
    программистов использовать не наследование, а композицию (статья 14).
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    Основной недостаток статических методов генерации заключается в том, что классы, не
    имеющие открытых или защищенных конструкторов, не могут иметь подклассов. Это же касается
    классов, которые возвращаются открытыми статическими методами генерации, но сами открытыми не
    являются
  • Oksana Skorniakovaalıntı yaptı6 yıl önce
    На это есть две причины. Во-первых, это позволяет
    гарантировать, что некий класс является синглтоном (статья 2). Во-вторых, это дает возможность
    убедиться в том, что у неизменяемого класса не появилось двух одинаковых экземпляров: a.equals(b)
    тогда и только тогда, когда а==Ь. Если класс предоставляет' такую гарантию, его клиенты могут
    использовать оператор == вместо метода equals(Object), что приводит к существенному повышению
    производительности программы. Подобную оптимизацию реализует шаблон перечисления типов,
fb2epub
Dosyalarınızı sürükleyin ve bırakın (bir kerede en fazla 5 tane)