2016-06-14 4 views
4

Я создал игру в единстве, которая содержит множество публичных и частных вариаций и функций. Я хотел, чтобы игра была безопасной, поэтому я купил Anti cheat toolkit из единственного магазина активов https://www.assetstore.unity3d.com/en/#!/content/10395. Так что мой вопрос: нужны ли мне защищенные частные переменные? Если да, то что такое использование частных переменных? Какие преимущества у них есть (в условиях безопасности)?Создание игры - В чем преимущество защищенных переменных?

+2

Вы когда-нибудь читали разницу между публичной и частной переменной? Может быть, даже прочитал учебник C#? –

+0

Это ... дикий, что этот вопрос имеет upvotes! Какой мир. – Fattie

+0

Если вам нужна «безопасность» в вашей игре, вы должны получить знаменитый Anti-Cheat-Tool-Kit из магазина активов. это одна из тех вещей, которые «каждый использует» - это повсеместно. У вас не может быть игры без безопасности для префекции obfuscation и т. Д., И для этого было бы совершенно бессмысленно писать код. Все просто используют ACTK – Fattie

ответ

10

Нужно ли защищать частные переменные?

Нет, как государственные, так и частные переменные имеют одинаковую защиту (или, скорее, нет средств защиты). Если злоумышленник может просматривать или изменять переменную public, они могут просматривать или изменять переменную private.

Доступные модификаторы доступны для удобства программистов и для решения архитектурных решений.

2

Частные и общедоступные идентификаторы не имеют ничего общего с безопасностью, а скорее видимость/доступность метода/переменной/независимо.

Частный var сообщает разработчику, что эта переменная используется только своим классом и не должна касаться/доступа нигде.

Публичный вар сообщает, что обращение к переменному в другом месте, а значение переменного имеет значение для функциональности в часть кодового/пользователи

0

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

+0

Bizarre кто-то проголосовал так! – Fattie

+0

Не тот, кто ниспроверг, но я думаю, что причина в том, что это утверждение: «Состояние переменной ... определяет только тех, кто может использовать информацию внутри переменных», не является технически корректным. Довольно легко получить доступ/изменить приватную переменную из совершенно другого класса с помощью отражения или отладчика. – oleksii

0

Публичные и частные ключевые слова только выражают то, что «предполагается» быть видимым или нет. Что касается безопасности, всегда можно вызвать частную переменную или метод, используя отражение (например) https://en.wikipedia.org/wiki/Reflection_(computer_programming).