Member 13569650 Ответов: 2

Модификаторы доступа public private и т. д.


Привет
Я f в своем коде, который повторно используется только мной
Я объявляю все публично.

с каким риском я столкнусь в своем коде.

может ли кто-нибудь привести мне пример риска?

и второй вопрос.

в чем разница между ними
управления richtextbox.понятно()
и
управления richtextbox.текст = ""

спасибо.

Что я уже пробовал:

открытый класс p123456
public x как целое число
end класса

2 Ответов

Рейтинг:
4

OriginalGriff

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

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

Имейте QA смотрите здесь: Понимание модификаторов доступа в VB.NET | База знаний BinaryIntellect[^]


Member 13569650

конечно, если вы имеете дело с приложением
персональные данные, которые вы используете пароль
для защиты персональных данных.

рассмотрим расчетную часть любого приложения, все данные для расчета могут быть общедоступными.
занятия становятся простыми
нет необходимости в получении и наборе и других подобных вещах.

Я знаю дисциплину, чтобы объявить личное как можно более личным.
и я видел книги, в которых говорится:
как частные вещи, которые могут быть публичными.

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

Я не против дисциплины.
и я думаю, что буду пользоваться книгами.
рекомендации.

но это совершенно не обязательно.

Большое спасибо!.

Member 13569650

рассмотрим приложение для тестирования регулярных выражений.

зачем нужна частная декларация?

OriginalGriff

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

Member 13569650

да, ты прав.
это хорошая дисциплина.

но если все объявлено публично
здесь нет никакого риска.

вот в чем дело.

OriginalGriff

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

Ваш выбор!

Member 13569650

Хорошо, и большое вам спасибо.

Давайте остановимся здесь, потому что.

Я различаю дисциплину и риск.
и я не могу представить себе ни одного конкретного примера кода реального риска.

Рейтинг:
20

Richard MacCutchan

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

Что касается вашего другого вопроса, то все это объясняется в документации: Класс RichTextBox (System.Окна.Формы) | Microsoft Docs[^].