Студопедия  
Главная страница | Контакты | Случайная страница

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

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

Читайте также:
  1. III. Основные принципы патогенетической терапии вирусных гепатитов
  2. RAID массивы. История создания RAID массивов. Основные преимущества и недостатки RAID массивов всех уровней. Принципы работы.
  3. А) Исходные философские принципы
  4. Архитектура итальянского Возрождения: почва, принципы, темы
  5. Архитектура ПК и логические принципы его работы
  6. Б) Принципы понимания мимических движений
  7. Базовые принципы композиции
  8. Биоценоз и принципы его формирования.
  9. Бюджетное устройство и принципы построения бюджетной системы государства
  10. В чем заключаются основные принципы НЛП?

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

Объектно-ориентированное программирование развивается уже более двадцати лет. Имеется несколько школ, каждая из которых предлагает свой набор принципов работы с объектами и по-своему излагает эти принципы. Но есть несколько общепринятых понятий. Перечислим их.

Абстракция

Описывая поведение какого-либо объекта, например автомобиля, мы строим его модель. Модель, как правило, не может описать объект полностью, реальные объекты слишком сложны. Приходится отбирать только те характеристики объекта, которые важны для решения поставленной перед нами задачи. Для описания грузоперевозок важной характеристикой будет грузоподъемность автомобиля, а для описания автомобильных гонок она не существенна. Но для моделирования гонок обязательно надо описать метод набора скорости данным автомобилем, а для грузоперевозок это не столь важно.

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

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

Описание каждой модели производится в виде одного или нескольких классов (classes). Класс можно считать проектом, слепком, чертежом, по которому затем будут создаваться конкретные объекты. Класс содержит описание переменных и констант, характеризующих объект. Они называются полями класса (class fields). Процедуры, описывающие поведение объекта, называются методами класса (class methods). Внутри класса можно описать и вложенные классы (nested classes) и вложенные интерфейсы. Поля, методы и вложенные классы первого уровня являются членами класса (class members). Разные школы объектно-ориентированного программирования предлагают разные термины, мы используем терминологию, принятую в технологии Java.

Вот набросок описания автомобиля:

class Automobile{

int maxVelocity; // Поле, содержащее наибольшую скорость автомобиля

int speed; // Поле, содержащее текущую скорость автомобиля

int weight; // Поле, содержащее вес автомобиля

// Прочие поля...

void moveTo(int x, int у){ // Метод, моделирующий перемещение

// автомобиля. Параметры х и у — не поля

int а = 1; // Локальная переменная — не поле

// Тело метода. Здесь описывается закон

// перемещения автомобиля в точку (х, у)

}

// Прочие методы...

}




Дата добавления: 2015-09-11; просмотров: 23 | Поможем написать вашу работу | Нарушение авторских прав

Побитовые операции | Операции присваивания | Выражения | Приведение типа (тип). | Блоки операторов часто используются для ограничения области действия переменных и просто для улучшения читаемости текста программы. | Листинг 1.4. Вычисление корней квадратного уравнения | While (true) оператор | Короче говоря, выполняется последовательность операторов | Знатокам Pascal | Третий этап — инициализация (initialization). На этом этапе элементы массива получают начальные значения. Например, |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав