разрешение экрана iPhone изменяется в будущих аппаратных средствах

(Протест: Я не программист Java, я - программист Perl. Perl не имеет никаких формальных мер защиты, который является, возможно, почему я понимаю проблему так хорошо:))

Частный

Как Вы думали бы, только класс , в котором это объявляется, видит его.

Пакет, Частный

, Может только замечаться и использоваться пакет , в котором это было объявлено. Это - значение по умолчанию в Java (который некоторые рассматривают как ошибку).

Защищенный

Пакет, Частный +, виден участнику пакета или подклассам.

Общественность

Все видят его.

Опубликованный

Видимый вне кода я управляю. (В то время как не синтаксис Java, это важно для этого обсуждения).

C++ определяет дополнительный уровень, названный "другом" и меньше Вы знаете об этом лучше.

, Когда необходимо использовать что? Вся эта мысль является инкапсуляцией для сокрытия информации. Как можно больше Вы хотите скрыть деталь того, как что-то сделано от Ваших пользователей. Почему? Поскольку тогда можно изменить их позже и не повредить чей-либо код. Это позволяет Вам оптимизировать, осуществить рефакторинг, перепроектировать и исправить ошибки без беспокойства, что кто-то использовал тот код, который Вы просто перестроили.

Так, эмпирическое правило должно сделать вещи только столь видимыми, как они должны быть. Запустите с частного и только добавьте больше видимости по мере необходимости. Только обнародуйте, что то, которое абсолютно необходимо для пользователя для знания, каждая деталь, которую Вы обнародовали, ограничивает Вашу способность перепроектировать систему.

, Если Вы хотите, чтобы пользователи были в состоянии настроить поведения, вместо того, чтобы обнародовать внутренности, таким образом, они могут переопределить их, это часто - лучшая идея пихнуть те кишки в объект и обнародовать тот интерфейс. Тем путем они могут просто включить новый объект. Например, если Вы писали проигрыватель компакт-дисков и хотели, "идут, находят, что информация об этом CD" укусила настраиваемый, а не обнародовала те методы, Вы поместили всю эту функциональность в ее собственный объект и делаете просто Вашу объектную общественность метода get/метода set. Таким образом быть скаредным о представлении Ваших кишок поощряет хороший состав и разделение проблем

Лично, я придерживаюсь только с "частным" и "общедоступным". Много языков OO просто имеют это. "Защищенный" может быть удобным, но это - действительно обман. Как только интерфейс является более, чем частным, это за пределами Вашего управления, и необходимо пойти, смотря в коде других людей для нахождения использования.

Это - то, где идея "опубликованных" входит. Изменение интерфейса (рефакторинг его) требует, чтобы Вы нашли весь код, который использует его, и измените это, также. Если интерфейс является частным, хорошо без проблем. Если это защитило Вас, должны пойти, находят все Ваши подклассы. Если это общедоступно, необходимо пойти, находят весь код, который использует код. Иногда это возможно, например, если Вы работаете над корпоративным кодом, это для внутреннего пользования, только не имеет значения, если интерфейс общедоступен. Можно захватить весь код из корпоративного репозитория. Но если интерфейс "публикуется", если существует код с помощью него вне управления, тогда Вы политы из шланга. Необходимо поддерживать тот интерфейс или рискнуть повреждать код. Даже защищенные интерфейсы можно считать опубликованными (который является, почему я не беспокоюсь защищенным).

Много языков находят, что иерархическая природа общедоступных/защищать/частных также ограничивает а не в соответствии с действительностью. С этой целью существует понятие класс черты, но это - другое шоу.

5
задан groundhog 27 June 2010 в 18:41
поделиться

3 ответа

Так и должно быть. Если есть способ получить эти метрики из API, вам следует это сделать. В старые времена Mac было много программ, жестко запрограммированных для 9-дюймового экрана. Когда я получил свой Mac XL (по сути, чехол Lisa с основной платой Mac внутри), у него был 12-дюймовый экран и число " «сломанные» приложения, которые не масштабировались, были легендой.

Если не считать радикальных изменений в оборудовании, Apple обязательно это сделает. Любая компания, которая может успешно изменить платформы микросхем TWICE, не боится обновлять оборудование, программное обеспечение и все остальное, чтобы улучшить ситуацию.

2
ответ дан 14 December 2019 в 08:56
поделиться

Я думаю, что вы непреднамеренно ответили на свой вопрос (планируете ли вы это) в своем описании проблемы. Если большая часть примерного кода, который вы видите, не учитывает это, то многие разработчики (которые копируют / вставляют из образца кода) не учитывают его.

Я полагаю, что если Apple разрешит другие разрешения, это у них будет способ работать в режиме совместимости для старых приложений или способ проверки желаемого разрешения (по умолчанию используется существующее разрешение, поэтому старые приложения не нужно менять).

2
ответ дан 14 December 2019 в 08:56
поделиться

В первом фрагменте кода, Что-то - это простой объект, а не конструктор. В частности, нельзя называть:

var o = new Something();

Такая форма создания объектов идеальна для одиночек; объекты, из которых вам нужен только один экземпляр.

Во втором фрагменте , Something является конструктором, и вы можете использовать с ним ключевое слово new .

Изменить:

Кроме того, во втором фрагменте кода, поскольку вы используете Something.name вместо this.name , он всегда будет предупреждать имя конструктора. само, которое является "Something" , если вы не переопределите это свойство чем-то вроде Something.name = "Cool"; .

Вы, вероятно, хотели, чтобы в этой строке говорилось:Я @ 190d11Excel не удаляет начальные пробелы. Вы получите нежелательные пробелы в заголовках и полях данных. Хуже того, ", который должен« защищать »этот разрыв строки в третьем столбце, будет проигнорирован, потому что он находится не в начале поля.

Если у вас есть символы, отличные от ASCII (закодированные в UTF-8) в файле у вас должна быть спецификация UTF-8 (3 байта, шестнадцатеричный EF BB BF ) в начале файла. В противном случае Excel будет интерпретировать данные в соответствии с вашим языковым стандартом по умолчанию. кодировка (например, cp1252) вместо utf-8, и ваши символы, отличные от ASCII, будут удалены.

Следующие комментарии относятся к Excel 2003, 2007 и 2013; не тестировалось в Excel 2000

Если вы открываете файл двойным -щелкнув его имя в проводнике Windows, все работает нормально.

Если открыть его из Excel, результаты будут разными: обязательно будет по 50% каждая. В значение может меняться в зависимости от их содержание. Мне также нужны все предметы в эти ячейки независимо от количества строк должны выстроиться так же, как они будет в таблице ».

Вышеупомянутое невозможно в кросс-браузере, без использования таблицы (вы можете смоделировать макет таблицы с помощью CSS:" display: table ", но это не работает в IE6 или IE7) .

Я бы посоветовал вам думать немного иначе при разработке с использованием CSS вместо таблиц, невозможно просто заменить «tr» и «td» на «div» и заставить все волшебным образом работать, как раньше. Я предлагаю вам установите ширину нижних «ячеек» и используйте один из вариантов, которые вам дали выше.

Надеюсь, что это поможет!

Так, например, если у вас есть

<mx:Canvas><mx:Label id="myLabel" /></mx:Canvas>

, вы можете получить к нему доступ по его id в качестве имени переменной:

myLabel.text = "Hello world!";

Дайте мне знать, если вам нужны дополнительные разъяснения. Если это не то, о чем вы просите, не стесняйтесь комментировать, и я сделаю еще один удар.

С уважением, Вам нужно будет вернуть несколько частей информации для вашего ответа. К счастью, вы можете легко сделать это с помощью JSON, и jQuery автоматически обработает его за вас, если вы укажете тип ответа json. Объект, который вы добавляете в свою функцию обратного вызова ajax, будет содержать все необходимые вам фрагменты данных в виде различных свойств.

Я бы посоветовал выработать привычку возвращать код состояния «успех» или «сбой» при каждом вызове ajax. , и набор ошибок с ним. См. Эту замечательную запись в блоге для получения дополнительной информации о том, что я имею в виду.

Причина этого в том, что вызов ajax всегда в основном "успешен", если только сервер действительно не может обработать запрос и не вернет код состояния HTTP сбоя. Если результат запроса похож на ошибку проверки, этот объект, чтобы получить рекомендованный прямоугольники рамки для вашего окно приложения. "

3
ответ дан 14 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: