Я считаю, что запечатанные / заключительные занятия на самом деле довольно редки, по моему опыту; Я, конечно, не рекомендую предлагать всем классам быть запечатанными / окончательными по умолчанию. Эта спецификация делает определенное утверждение о состоянии кода (то есть, что оно завершено), что не всегда верно во время разработки.
Я также добавлю, что для того, чтобы оставить класс незапечатанным, требуется больше усилий по разработке / тестированию, чтобы удостовериться, что выявленное поведение хорошо определено и протестировано; Тяжелое модульное тестирование крайне важно, IMO, для достижения уровня уверенности в поведении класса, который, по-видимому, желателен сторонникам «запечатывания». Но IMO, этот повышенный уровень усилий напрямую влияет на высокий уровень доверия и более качественный код.