Красота — это одно. Например, низкий вклад Си Ши — терпеть унижения, служить стране собственным телом и помогать У Юэ уничтожить У, другое — деньги. Мы, древние, часто говорим, что «деньги — это нечто вне тела, они не несут с собой ни жизни, ни смерти», но все мы знаем, что «деньги могут заставить призрака работать на мельнице».
Помимо красоты и денег, я думаю, есть еще один, который заключается в признании читателей - "Брат второй, ваша статья действительно хороша, она мне очень нравится. Я надеюсь еще больше обновить базовые знания Java, это действительно много пользы, только кажетсяЧитая прозу Ван Сяобо, но изучая программирование!— Вы сказали, чтобы получать такие теплые отзывы от читателей, вам еще нужны красота и деньги? «И то, и другое можно выбросить».
В этой статье в основном рассказывается об управлении доступом в Java.
01 Важность контроля доступа
Шу Ци однажды сказала шокирующую, а затем шокирующую вещь: «Я буду надевать одежду, которую когда-то сняла, одну за другой!» Теперь она сделала это - своими собственными усилиями, не только Это было признано публикой, завоевало множество награды и собранное счастье. Хотя, действительно, есть еще друзья, которые «помнят прошлое и богатое время», хранят в недрах жесткого диска компьютера коллекционные фотографии ранних лет Шу Ци.
Я привожу этот пример в основном, чтобы доказать одно предложение -Контроль доступа (или сокрытие конкретной реализации) связан с «исходной реализацией не подходит»—— Если разрешение Шу Ци на эти фотографии не было таким публичным в начале, он мог бы сжечь их в частном порядке сейчас или изменить свой способ дебюта, но такого не бывает.
В вашей начальной карьере программиста я не знаю, писали ли вы когда-нибудь «хороший» код, подобный приведенному в листинге 1.1.
Листинг программы 1-1:
public class NiubiUtil {
public static Date getNextDay() {
long millis = 24 * 60 * 60 * 1000;
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
return new Date(System.currentTimeMillis());
}
}
Изначально вы просто писали эти коды для забавы, кого бы коллега по имени Сяо Эр брат без раздумий назвал. Этот звонок не имеет значения, код второго брата ждал целый день - менеджер по продукту, г-н Ван, должен был протестировать код второго брата по прихоти, а затем нажал кнопку, чтобы просмотреть на следующий день, код программа действительно ждите там спокойно, пока действительно не наступит следующий день.
Следствием этого является то, что, чтобы унять неугомонные эмоции пользователей, г-н Ван вынес второго брата прямо в жертву небу, ты забился в угол и дрожал, и тихо бормотал что-то в своем сердце - "Второй брат, иди хорошо, брат. Мне очень жаль.
Кровавая трагедия! Только из-за неправильного использования контроля доступа Java - частный метод, результат был написан как открытый - о важности контроля доступа.
02 Зачем нужен контроль доступа
Я много лет шел по пути программирования на Java и, конечно же, написал бесчисленное количество фрагментов кода, которые когда-то казались такими «хорошими». Со временем, когда оглядываешься на код из прошлого, всегда возникает вопрос «это действительно от меня?»
У такого рода вопросов есть два значения: во-первых, он действительно хорошо их написал, точно так же, как Ли Бай, когда он был стар, увидел «Глядя на водопад Лушань», который он написал, когда был молод: «Солнечная курильница для благовоний производит фиолетовый дым, а водопад висит перед рекой издалека; Подозревают, что Млечный Путь падает девять дней, а летящий поток идет прямо вниз на три тысячи футов." - Эй, я неплохо писал в молодости.
Другой слой заключается в том, что письмо действительно плохое.Например, список программ 1-1 невыносимо оглядываться назад.Вы можете только следовать за ветром, следовать за ветром и плыть по ветру!
Для этих плохо написанных кодов, каждый раз, когда я их вижу, я хочу пересмотреть их снова, ожидая, что они будут более читабельными, понятными и удобными в сопровождении; но при хорошем видении также возникает огромное давление, потому что есть код для быть измененным упоминается во многих других местах, и затрагивается все тело.
В процессе изменений и изменений я обнаружил, что контроль доступа действительно важен. В процессе написания кода нам нужно изо всех сил стараться следовать такому принципу —В дополнение к тем методам, которые должны быть общедоступными, попробуйте определить другие методы как частные.. Преимущество этого в том, что вам не нужно беспокоиться о рефакторинге приватных методов, потому что они не будут доступны извне класса.
03 Для чего используется модификатор защищенного разрешения?
Мы знаем, что модификатор разрешения public делает все методы и свойства класса видимыми для внешнего мира; модификатор разрешения private делает все методы и свойства класса видимыми только внутри; а как насчет модификатора защищенного разрешения?
Предположим, есть парень по имени Ван Эр, у него есть три атрибута, а именно личная жизнь, внешний имидж и защищенная собственность, как и в листинге программы 3-1.
Листинг программы 3-1:
public class Wanger {
// 私生活
private String life;
// 外在形象
public String image;
// 被保护的财产
protected String money;
}
Ван Эр родила ребенка по имени Ван Сяоэр, как показано в листинге 3-2.
Листинг программы 3-2:
public class Wangxiaoer extends Wanger{
@Override
public String toString() {
return "可以继承的财产:" + money + ";塑造的人设:" + image + ";得不到的私生活:";
}
}
Ван Сяоэр может унаследовать имущество Ван Эра (говорят, чтоВан Эр вложил 100 для Ван Сяоэра в первый месяц его рождения.Процентная ставка за каждый последующий месяц составляет 12%.Сейчас депозит составляет 3758,17.Вы знаете, сколько сейчас лет Ван Сяоэру?), также может подражать внешнему образу маленького отца, но не может жить по отцовскому частному образу жизни.
Заметили разницу между тремя модификаторами разрешений?
защищенный может защитить имущество Ван Эр от успешного наследования Ван Сяоэр, и люди из внешнего мира не могут получить к нему доступ; публичное не безопасно, потому что доступ может наследовать не только Ван Сяоэр, но и другие люди из внешнего мира; частное слишком приватизирован, не только внешний мир не может посещать, но и Ван Сяоэр не может его унаследовать.
04 Резюме
Две важные функции управления доступом: во-первых, предотвратить прикосновение внешнего мира к местам, которые не следует трогать (закрытые измененные переменные-члены или методы); во-вторых, разрешить разработчику класса изменять внутреннюю (закрытые измененные члены) переменную. или метод), не беспокоясь о вмешательстве во внешний мир.
Ставьте лайки и комментируйте, потому что ваше участие — самая сильная движущая сила в моем писательском путешествии.