Является ли экземпляр класса Pane в JavaFX отдельным узлом? - PullRequest
0 голосов
/ 08 сентября 2018

Поскольку типичные узлы, такие как Circle или Square, являются экземплярами класса Node, а Pane является подклассом Parent, который является подклассом Node, таким образом, экземпляр класса Pane, используемый в качестве корневого узла, технически является одним отдельным узлом. Я не прав?

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Я вижу, к чему ты клонишь, я думаю. Вы спрашиваете, все ли классы иерархии наследования панели перемещаются вместе с панелью. Ответ - нет, это не так, и да, это один узел.

Когда создается иерархия наследования, это КАК ЕСЛИ, если весь код в каждом из этих родителей И код от ребенка, в вашем случае Pane, были объединены в один класс, который вы создаете, вызывая Pane ().

Это один большой двоичный объект со всеми членами и методами всех его родителей.

API языка Java позволяет вам обращаться с ним, как с тремя различными объектами, в том смысле, что вы можете преобразовать его в иерархию и создать ссылки на него, которые находятся выше по иерархии и обычно обрабатывают его «как если бы» это было Узел Контейнер и Панель в любой момент времени.

Но создается только один экземпляр объекта Java. Кроме этого, если это внутренний класс. Если есть внутренний класс, то на самом деле этот внутренний класс создается как отдельный объект верхнего уровня - это его собственный двоичный двоичный объект.

НТН

0 голосов
/ 08 сентября 2018

Объект класса Pane всегда будет экземпляром Node, поскольку Pane является подклассом Node

Class Pane :
java.lang.Object
  javafx.scene.Node
    javafx.scene.Parent
      javafx.scene.layout.Region
        javafx.scene.layout.Pane

Это означает:

  • p instance of Node будет истинным, когда p является Pane
  • Node p = new Pane(); в порядке
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...