Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

концепции ооп. часть 1

.pdf
Скачиваний:
9
Добавлен:
12.02.2015
Размер:
1.07 Mб
Скачать

Языки программирования

Основы ООП

Как создается проект

Качество

Проект

Цена

Сроки

 

 

 

 

Проблемы крупных проектов

Чем сложнее код, тем больше вероятность ошибки.

Чем больше команда, тем сложнее наладить взаимодействие.

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

Проектная команда на длительном проекте неизбежно меняется

Логика работы программы меняется в процессе разработки.

Требования

Быстрее пишется не та программа, код которой пишется быстро, а та, код которой легче изменяется.

Программа должна состоять из независимых модулей, которые можно:

разрабатывать и тестировать независимо от остальных частей программы.

заменять на более «подвинутые» версии без переделки всей программы.

использовать без знаний об их внутреннем представлении.

Подходы к разработке ПО

Ключевой принцип ООП

Всё является объектом…

Что такое объект

Объект – это набор логически связанных переменных (полей, field), обладающий некоторым поведением (методами, methods).

Что такое класс

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

Создавая класс, мы создаем новый тип данных.

Ключевые термины

Объект, экземпляр класса

(instance) – собственно объект.

Класс (class) – набор объектов, обладающих одинаковым набором полей свойств и методов и различающихся только конкретными значениями полей.

Инициализация (initialization)

присвоение начальных значений полям объекта.

Время жизни объекта (life time)

– время с момента создания объекта до его уничтожения.

Объявление класса (упрощенный синтаксис)

class имя_класса

{

[спецификаторы] тип имя_поля [= значение];

[спецификаторы] тип имя_метода(параметры) { тело_метода }

[спецификаторы] тип имя_свойства

{

[[спецификаторы] get { тело }] [[спецификаторы] set { тело }]

}

}