Волшебство верно. С точки зрения API, вы всегда хотите сделать все окончательно, чтобы предотвратить будущие расширения API, потому что кто-то проявил творческий подход в своих подклассах ...
В этом конкретном примере причина, вероятно, заключается в том, что проектировщику, хотя в будущем ему могут понадобиться дополнительные члены в классе. Например. в текущей версии есть minimumHeight
и minimumWidth
, но нет maximumHeight
и maximumWidth
, которые также могли бы иметь смысл ... Но что если вы или кто-то еще расширили GridData
с закрытыми членами с этими точными имена? Тогда расширение API не будет совместимо с прямой версией, и большой объем кода может потенциально сломаться.