РџСЂРѕРіСЂР°РСР Сирование | Отладка | Web-технологии | Microsoft Office | Теор.инфорРСатика | Р Всслед-Р Вµ операций | Операц. СЃРёСЃ-Р СС‹ | Новости |
Проектирование Р ВР РЋ | Р ВРЎРѓРЎРѓР С”. РёРЅС‚-С‚ | Трансляторы | РћР± авторах | Карта сайта | РџРѕРёСЃРє |
Язык РїСЂРѕРіСЂР°РСР Сирования Turbo Pascal |
Среда РїСЂРѕРіСЂР°РСР Сирования Delphi 6 |
Язык РїСЂРѕРіСЂР°РСР Сирования C++ |
Язык РїСЂРѕРіСЂР°РСР Сирования C# |
Язык РїСЂРѕРіСЂР°РСР Сирования Assembler |
Язык РїСЂРѕРіСЂР°РСР Сирования Go |
Язык РїСЂРѕРіСЂР°РСР Сирования Haskell |
Язык РїСЂРѕРіСЂР°РСР Сирования Java |
Язык РїСЂРѕРіСЂР°РСР Сирования Kotlin |
Язык РїСЂРѕРіСЂР°РСР Сирования LISP |
Язык РїСЂРѕРіСЂР°РСР Сирования Prolog |
Язык РїСЂРѕРіСЂР°РСР Сирования Python |
Параллельные алгоритРСС‹ |
Сети Петри |
Начала |
Отладчик Turbo Debugger |
РћСЃРЅРѕРІС‹ HTML |
Технология Flash |
Язык РїСЂРѕРіСЂР°РСР Сирования Perl |
Основы языка PHP |
РћСЃРЅРѕРІС‹ PhotoShop |
РћСЃРЅРѕРІС‹ JavaScript |
РћСЃРЅРѕРІС‹ CSS |
РћСЃРЅРѕРІС‹ CorelDRAW |
Р вЂР ёР±Р»РёРѕС‚ека jQuery |
Текстовый процессор Microsoft Word |
Р Влектронные таблицы Microsoft Excel |
СистеРСР В° управления базаРСР С‘ данных Microsoft Access |
Р Вспользование VBA Р Р† Microsoft Excel |
Место инфорРСатики Р Р† систеРСР Вµ наук |
Общие сведения РѕР± инфорРСации |
Кодирование инфорРСации Р Р† теории Шеннона |
Основные понятия теории алгоритРСРѕРІ |
Классические форРСализации понятия 'алгоритРС' |
Понятие рекурсии |
Сложность алгоритРСР В° |
Методы разработки алгоритРСРѕРІ |
Сложность задачи |
Р ВнфорРСационное Р Соделирование |
Основные понятия теории графов |
АлгоритРСС‹ РїРѕРёСЃРєР° Р Р…Р В° графах |
Матроиды. 'Жадные' алгоритРСС‹ |
ДинаРСическое РїСЂРѕРіСЂР°РСР Сирование |
АлгоритРСС‹ |
UNIX Р С‘ Linux |
Унифицированный язык Р Соделирования UML |
Введение Р Р† Р Сашинное обучение РЎРѓ Р С‘РЎРѓР С—Р С•Р В»РЎРЉР В·Р С•Р Р†Р В°Р Р…Р С‘Р ВµР С Python |
Основы создания нейросети на Python |
Глубокое обучение на Python |
Начала |
ДинаРСические структуры данных |
Р вЂР ёР±Р»РёРѕС‚ека RX |
Основные классы и события Delphi |
Основные РєРѕРСпоненты Delphi |
Организация потоков |
Технология COM |
Язык РїСЂРѕРіСЂР°РСР Сирования Object Pascal |
Локальные Р вЂР ” Р Р† Delphi |
Р вЂР ёР±Р»РёРѕС‚ека OWL |
Р вЂР ёР±Р»РёРѕС‚ека Qt |
Р вЂР ёР±Р»РёРѕС‚ека STL |
Р вЂР ёР±Р»РёРѕС‚ека шаблонов классов Borland |
РћСЃРЅРѕРІС‹ РєРѕРСпьютерной графики |
ДинаРСические структуры данных |
Начала |
Обработка исключительных ситуаций |
ОптиРСизация РЎРѓ РїРѕРСощью ассеРСблера |
РћСЃРЅРѕРІС‹ объектно-ориентированного РїСЂРѕРіСЂР°РСР Сирования |
Потоки ввода-вывода |
Разное |
Редактор Resource Workshop |
Среда Visual C++ |
РџСЂРѕРіСЂР°РСР Сирование Р Р† Microsoft Visual C++ 2010 |
Технология CUDA |
Технология OLE |
Начала |
16-битное РїСЂРѕРіСЂР°РСР Сирование |
32-битное РїСЂРѕРіСЂР°РСР Сирование |
РћСЃРЅРѕРІС‹ логического РїСЂРѕРіСЂР°РСР Сирования |
ДинаРСические структуры данных |
Visual Prolog |
Р вЂР ёР±Р»РёРѕС‚ека PyQt5 |
Р вЂР ёР±Р»РёРѕС‚ека Tkinter |
Визуализация данных |
Начала |
Задачи ComputerScience |
Рекурсия |
Вкладка RXControls |
Вкладка RXDBAware |
Вкладка RXTools |
Вкладка Standard |
Вкладка Additional |
Создание Internet-приложений |
Вкладка System |
Вкладка Win32 |
Вкладка Servers |
Технология ADO |
Вкладка QReport |
Вкладка InterBase |
Вкладка Dialogs |
Начала |
Среда РїСЂРѕРіСЂР°РСР Сирования. Язык Р РЋ/Р РЋ++ |
На этом шаге мы рассмотрим основные понятия объектно-ориентированного программирования
Для успешной дальнейшей работы нужно усвоить основные понятия и терминалогию объектно-ориентированного программирования (ООП). Наиболее важным понятием является класс, применение которого уже демонстрировалось в примерах программ из предыдущих шагов. Класс - это шаблон или образец, по которому будет создан объект. Так, например, форму для выпечки печенья можно назвать классом, а само печенье - объектом. Конструирование объекта на основе некоторого класса называется получение экземпляра этого класса.
Весь код программ, написанный на языке программирования Java, должен находится в классах. Стандартная библиотека Java содержит несколько тысяч классов, предназначенных для решения самых разных задач, например, для построения пользовательского интерфейса, календарей, установления сетевых соединений и так далее. Несмотря на это, программирующие на Java продолжают создавать свои собственные классы, чтобы формировать объекты, характерные для разрабатываемого приложения, а также приспосабливать классы из стандартной библиотеки под свои нужды.
Инкапсуляция - это ключевое понятие для работы с объектами. Формально инкапсуляцией считается обычное объединение данных и операций над ними в одном пакете и сокрытие данных от других объектов. Данные в объекте называются полями экземпляра, а функции, выполняющие операции над данными, - его методами. В конкретном объекте, экземпляре класса, поля экземпляра имеют определенные значения. Множество таких значений называется текущим состоянием объекта. Вызов любого метода для объекта может изменить его состояние.
Следует еще раз подчеркнуть, что основной принцип инкапсуляции заключается в запрещении прямого доступа к полям экземпляра данного класса из других классов. Программы должны взаимодействовать с данными объекта только через его методы. Инкапсуляция обеспечивает внутреннее поведение объектов, что имеет решающее значение для повторного их использования и надежности работы программ. Это означает, что в класса можно полностью изменить способ хранения данных. Но поскольку для манипулирования данными используются одни и те же методы, то об этом то об этом ничего не известно, да и не важно другим объектам.
Еще один принцип ООП облегчает разработку своих собственных классов, то есть. на основе уже существующего класса можно построить новый. В таком случае говорят, что новый класс расширяет старый. Расширение класса и получение на его основе нового называется наследованием.
В ООП определены следующие свойства объектов:
Все объекты, являющиеся экземплярами одного и того же класа, ведут себя одинаково. Поведение объекта определяется методами, которые можно вызвать. Каждый объект сохраняет информацию о своем состоянии. Со временем состояние объекта может измениться, но спонтанно это произойти не может. Состояние объекта может изменятся только в результате вызовов методов (иначе будет нарушен принцип инкапсуляции).
Состояние объекта не полностью описывает его, поскольку каждый объект имеет свою собственную идентичность. Например, в системе обработки заказов два заказа могут отличаться друг от друга, даже если они относятся к одним и тем же товарам.
Эти основные свойства объектов могут оказывать взаимное влияние. Например, состояние объекта может оказывать влияние на его поведение.
На следующем шаге мы рассмотрим идентификацию классов