Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Перечень ответов по дисциплине «Объектно-ориент...docx
Скачиваний:
4
Добавлен:
03.09.2019
Размер:
68.64 Кб
Скачать

3. Достоинства ооп. Соотношение понятий объекта и класса при объектно-ориентированной разработке программ. Соотношение понятий объекта и класса

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

В некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных (в C# есть такая возможность).

Достоинства ооп

1. Использование при программировании понятий, близких к предметной области.

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

3. Возможность многократного использования кода за счет наследования.

4. Сравнительно простая возможность модификации программ.

5.Возможность создания и использования библиотек классов.

4. Понятие класса и синтаксис объявления класса (в одном из известных вам языков, например, C++, C#). Элементы класса.

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

Синтаксис и пример для c#:

[спецификатор доступа][модификатор класса]

class имя_класса [:базовый класс]

{

тело_класса

}

Пример:

public static class WasiaTheTerrible : IvanGrozniy

{

тело класса }

Элементы класса:

  • константы – хранят неизменяемые значения, связанные с классом;

  • поля – содержат данные класса (могут быть объектами др. классов);

  • методы – функции; реализуют вычисления или другие действия, выполняемые классом или экземпляром;

  • свойства – определяют характеристики класса в совокупности со способами их задания и получения, то есть методами записи и чтения

  • конструкторы и деструкторы – специальные методы, реализующие действия по инициализации объекта или класса и действия по их уничтожению;

  • индексаторы – обеспечивают возможность доступа к элементам класса по их порядковому номеру;

  • операции – задают действия с объектами с помощью знаков операций;

  • события – определяют уведомления, которые может генерировать класс;

  • типы – это типы данных, внутренние по отношению к классу.

5. Функции - методы класса. Синтаксис описания, параметры методов, вызов (в одном из известных Вам языков, например, C++, C#).

Методы – это функции, реализующие вычисления или другие действия, выполняемые классом или его экземпляром. Через параметры в методы передаются данные, которые не инкапсулированы в классе, но требуются для работы алгоритма, реализованного в методе. Методы могут возвращать (а могут и не возвращать) значение. Так же в некоторых языках программирования предусмотрена возможность получения измененного значения переменной при передаче ее в метод через параметры по ссылке или по адресу. В языке C# такая возможность реализуется с помощью ключевых слов ref и out; в С++ - с помощью непосредственной передачи по ссылке или по адресу.

Синтаксис объявления метода для C#:

[спецификатор доступа][модификатор метода]

тип_возвращаемого_значения имя_метода (список_параметров)

{

тело_метода;

}

Пример объявления метода для C#:

public class SomeClass

{

***

public static int SomeMethod(int a, string str)

{

return (int)str.Length / a;

}

***

}

В примере – имеем некоторый класс и видим один открытый статичный метод.

Пример вызова данного метода для C#:

***

int А = SomeClass.SomeMethod(2, “abcd”);

***

После того, как метод отработает, в переменной А окажется значение 2.

Существуют особые методы: конструкторы (вызываются при создании объекта), деструкторы (вызываются при уничтожении объекта), акцессоры (методы записи и чтения полей), операции, события и пр.