Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемМаргарита Астахова
1 §17 Проектируйте и документируйте наследование или запрещайте его
2 В классе должно быть описано его собственное использование переопределяемых методов. (переопределяемые – не final и public или protected) По соглашению, это описание следует за описанием метода и начинается со слов This implementation
3 java.util.AbstractCollection
4 Это противоречит факту, что хорошая документация API должна описывать, что делает метод, но не как. От класса может потребоваться создание механизма для диагностирования своей собственной внутренней деятельности в виде правильно выбранных защищенных методов или, в редких случаях, защищенных полей.
5 Например, java.util.AbstractList
6 Единственный способ протестировать класс спроектированный для наследования – это создать наследника. (как правило достаточно 3х экземпляров и как минимум один должен быть написан не автором класса) Такой метод тестирования _настоятельно_ рекомендуется перед опубликованием класса.
7 Конструкторы не должны вызывать переопределяемые методы.
8 Аналогичные трудности ждут при реализации Clonable или Serializable Ни clone ни readObject не должны вызывать переопределяемые методы, напрямую или косвенно. Создание класса ориентированного на наследование накладывает серьезные ограничения. Лучшее решение – избегать наследования от неподходящих для этого классов.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.