Абстракция сокрытие информации VS инкапсуляция VS

Попробуйте:

dashboard_df = pd.read_csv(p_file, sep=',', error_bad_lines=False, index_col=False, dtype='unicode')

Согласно документации pandas:

dtype: имя типа или dict столбца -> тип

blockquote>

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

161
задан Community 23 May 2017 в 11:47
поделиться

6 ответов

Перейдите к источнику! Grady Booch говорит (в Объектно-ориентированном анализе и проектировании, странице 49, втором выпуске):

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

, Другими словами: абстракция = объект внешне; инкапсуляция (достигнутый посредством сокрытия информации) = объект внутренне,

Пример: В Платформе.NET System.Text.StringBuilder класс обеспечивает абстракцию по строковому буферу. Эта буферная абстракция позволяет Вам работать с буфером не принимая во внимание его реализацию. Таким образом Вы в состоянии добавить строки к буферу не принимая во внимание то, как StringBuilder внутренне отслеживает вещи такой указатель на буфер и руководящую память, когда буфер становится полным (который это делает с инкапсуляцией через сокрытие информации).

армированный пластик

149
ответ дан Narendra Pathai 23 November 2019 в 21:25
поделиться

Абстракция позволяет Вам рассматривать сложный процесс как простой процесс. Например, стандартная абстракция "файла" рассматривает файлы как непрерывный массив байтов. Пользователь/разработчик даже не должен думать о проблемах кластеров и фрагментации. (Абстракция обычно появляется как классы или подпрограммы.)

Сокрытие информации о защите Ваших абстракций от злонамеренных/некомпетентных пользователей. Путем ограничения управления некоторого состояния (выделения жесткого диска, например) исходному разработчику, огромные объемы обработки ошибок становятся избыточными. Если никто больше помимо драйвера файловой системы не может записать в жесткий диск, то драйвер файловой системы знает точно, что было записано в жесткий диск и где. (Обычное проявление этого понятия private и protected ключевые слова на языках OO.)

1
ответ дан Zooba 23 November 2019 в 21:25
поделиться

Абстракция скрывает детали реализации, как Вы выразились.

Вы абстрагируете что-то к достаточно высокой точке, что необходимо будет только сделать что-то очень простое для выполнения действия.

Сокрытие информации скрывает детали реализации. Программирование трудно. У Вас может быть много вещей иметь дело с и дескриптор. Могут быть переменные, которые Вы хотите/нуждаетесь отслеживать. Сокрытие информации гарантирует, что никто случайно не повреждает что-то при помощи переменной или метода, который Вы представили публично.

Эти 2 понятия очень тесно связаны в объектно-ориентированном программировании.

3
ответ дан Dan Herbert 23 November 2019 в 21:25
поделиться

См. сообщение Joel на Законе Текучих Абстракций

JoelOnsoftware

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

Что касается сокрытия информации, я соглашаюсь с jamting.

2
ответ дан Kondal 23 November 2019 в 21:25
поделиться

Значение абстракции, данной Оксфордским словарем английского языка (OED), самым близким к значению, предназначенному здесь, является 'Действием разделения в мысли'. Лучшее определение могло бы 'Представлять существенные особенности чего-то без включения фона или несущественной детали'.

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

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

Так не абстракция ПО СРАВНЕНИЮ С сокрытием информации. Это - сокрытие информации ЧЕРЕЗ абстракцию.

6
ответ дан jamting 23 November 2019 в 21:25
поделиться

Чтобы абстрагироваться, нам нужно скрыть детали, или чтобы скрыть детали чего-то, нам нужно абстрагироваться. Но оба они могут быть достигнуты путем инкапсуляции.

Итак, сокрытие информации - это цель, абстракция - это процесс, а инкапсуляция - это техника.

1
ответ дан 23 November 2019 в 21:25
поделиться
Другие вопросы по тегам:

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