Android: вопрос от хобби-программиста по поводу образца "Змейка" - PullRequest
0 голосов
/ 19 марта 2011

Спасибо , если кто-нибудь ответит на этот (возможно?) Нелепый вопрос:

Почему "публичный SnakeView" в SnakeView.java определен ДВАЖДЫ (один раз непосредственно после первого раза!), Добавление во второй раз аргумента "int defStyle" ?

(Обараз эти «публичные» вызовы «initSnakeView» ...)

Почему это необходимо - что такое преимущество ?

СПАСИБО очень за просветление !!!

Ответы [ 2 ]

1 голос
/ 19 марта 2011

Подклассы SnakeView класса TileView, которые, в свою очередь, подклассы View.Эти два public SnakeView определения реализуют два конструктора, которые есть у каждого View.Первый вызывается при создании View из кода, второй вызывается, когда он надувается из XML-файла макета.Смотри здесь .

1 голос
/ 19 марта 2011

Это «конструкторы» - особый вид функции, которая вызывается при создании объекта SnakeView. Конструктор имеет возможность установить начальное состояние объекта. Класс может иметь много разных конструкторов с разными наборами объектов; каждый из них устанавливает объект на основе любых вводимых данных. Тот, у которого нет аргументов, является конструктором по умолчанию, который использует значения по умолчанию при отсутствии какого-либо ввода.

...