Класс GridData в SWT - PullRequest
       19

Класс GridData в SWT

2 голосов
/ 06 июля 2011

Это о классе GridData в программировании пользовательского интерфейса SWT. Почему GridData должен быть окончательным?

Java Doc из GridData говорит, что это окончательно. Я хочу понять, почему это должно быть окончательным.

Спасибо и С уважением

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Честно говоря, нет причин не быть окончательными, программисты API обычно делают все классы, которые не определены как расширенные.

Чтение Когда следует использовать final? и Использование модификатора "final", когда это применимо, в java stackoverflow для получения дополнительной информации. Это также относится к FAQ по подклассам SWT .

0 голосов
/ 08 июля 2011

Волшебство верно. С точки зрения API, вы всегда хотите сделать все окончательно, чтобы предотвратить будущие расширения API, потому что кто-то проявил творческий подход в своих подклассах ...

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

...