Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Принципы объектно-ориентированного программирования.

Читайте также:
  1. B. ОСНОВНЫЕ ПРИНЦИПЫ ВСЕХ МЕДИЦИНСКИХ ИССЛЕДОВАНИЙ
  2. C. ОСНОВНЫЕ ПРИНЦИПЫ ВСЕХ МЕДИЦИНСКИХ ИССЛЕДОВАНИЙ
  3. I. 3.1. Двойственная задача линейного программирования.
  4. I.5.3. Подготовка данных для задачи линейного программирования.
  5. I.5.4. Решение задачи линейного программирования.
  6. А. Привести к канонической форме следующие задачи линейного программирования.
  7. А.7 Устройство и принципы действия адсорбционных аппаратов

 

Абстракция

Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.[1]

Инкапсуляция

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя.[1]

Наследование

Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.[1]

Полиморфизм

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.[1]

Класс

Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Объект

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

Прототип

Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.

 

Любой объект в Java порождается только с применением ключевого слова new. Единственное исключение – экземпляры класса String. Записывая любой строковый литерал, мы автоматически порождаем объект этого класса. Поэтому d="AAA"; переадресовала d на новый объект.

Кстати, оператор конкатенации +, результатом которого является строка, также неявно порождает объекты без использования ключевого слова new. То же самое случилось бы с d=d+d;

Еще одним важным свойством класса String является неизменяемость. Породив объект, содержащий некое значение-строку, мы уже не можем изменить данное значение – необходимо создать новый объект.

Поскольку каждый строковый литерал порождает новый объект, что есть очень ресурсоемкая операция в Java, компилятор стремится оптимизировать эту работу.

То есть если строки конструируются из одной и той же константы, известной уже на момент компиляции, оптимизатор подставляет этим строкам один и тот же объект.

Если же строка создается выражением, которое может быть вычислено только во время исполнения программы, то для нее будет порождаться новый объект.

 


Дата добавления: 2015-10-29; просмотров: 96 | Нарушение авторских прав


Читайте в этой же книге: Интерфейсные компоненты пользователя. | Конструктори | Спадкування |
<== предыдущая страница | следующая страница ==>
Структура пакета Java 2 SDK.| Исключительные ситуации, их классификация и различия.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)