Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Классы. Get/Set у property - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Линейные коллекции данных http://www.cyberforum.ru/cpp-beginners/thread1189526.html
Объясните, что такое итераторы и как используются. и вот еще: Цели работы: Освоение технологии реализации позиционных, линейных коллекций на примере АТД "Список". Освоение методики тестирования...
C++ Объяснить как работает программа и сделать её с помощью подпрограмм Объяснить как работает программа и сделать её с помощью подпрограмм. #include <stdio.h> #include <conio.h> #define H 5 #define W 6 int main(){ int matrix = { {1,2,3,3,3,4}, http://www.cyberforum.ru/cpp-beginners/thread1189479.html
C++ Создание нового экземпляра дочернего класса из экземпляра базового
Всем привет! Извиняюсь, если вопрос глупый, но что-то не смог найти конкретный ответ на него... У меня есть несколько классов: все они рисуют графику кроме одного, который просчитывает физику. ...
C++ Компилятор Visual C++ платный или нет
Народ! Никак не могу найти ответ на один простой вопрос: сам компилятор Visual C++ бесплатный? Или нет? Как я понял, он входит в состав Windows SDK, который абсолютно свободного можно скачать с...
C++ Написать программу, которая будет зеркально выводить введенную строку http://www.cyberforum.ru/cpp-beginners/thread1189464.html
Доброго времени суток! Стоит задача: написать программу, которая будет зеркально выводить введенную строку. Условие: нельзя использовать стандартные функции библиотеки <cstring> и им подобные...
C++ Отсортировать страны по алфавиту и вывести на экран В программу вписываешь данные о странах а она и должна сортировать страны по афавиту и тогда их виводити.але как сделать сортировку я не знаю.поможить пожалуйста. В void TComputer::Perevirka()... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3139 / 307
Регистрация: 04.12.2011
Сообщений: 8,661
Записей в блоге: 5
27.05.2014, 20:57
GetHelp, инкапсуляция это очень широкая тема включающая отделение доступного (интерфейса) и не доступного (реализации), контроль целостности (связности) данных, реализации отложенных (ленивых) вычислений... Пока для Вас структуры важнее, а инкапсуляция может приниматься как данность. Потому как, если пойдёте знакомиться с ленивыми вычислениями, например, обогатите голову шестиугольной формой.
Отделение интерфейса от реализации обычно иллюстрируется в литературе вполне нормально, в виде автомобиля с рулём, коробкой и педалями. А вот о связности говорят реже. Тут труднее найти простую абстракцию в виде ящика или кота Фриски (в ящике)). Обычно применяют массив и контроль границ в виде проверки значения индекса на неотрицательность и не превышение поля вроде size. В принципе, этого достаточно, для начала. Попробую ещё о связности пояснить:
Вот допустим Вы пишете класс "Tреуголник". Вы знаете, что три стороны полностью задают экземпляр. Понятно, что надо бы проверять перед записью полей неотрицательность значений, но это не имеет прямого отношения к связности. А вот в чем штука ещё: задавая две любые сторона, вы должны проверять третью на не превышение суммы уже введенных! Тут интересно то ещё, что если сделать поля равноправными, то с одного раза изменить значения полей в сторону резкого увеличения и не получится! Подумайте почему.
То есть, имеет смысл контролировать связность, а это требует ограничения доступа и введение методов доступа.
Для треугольника можно бы разорвать жесткую связь данных, назначив полями две стороны и угол между ними, но речь не о том. Это просто, простой пример.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru