Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы по ООАПиП.doc
Скачиваний:
58
Добавлен:
14.05.2015
Размер:
107.52 Кб
Скачать

Вопросы к экзамену по курсу ооАиП

Половикова О.Н.

Вопросы: блок 1

  1. Чем определяется размер объекта класса

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

  1. Почему не рекомендуется делать атрибуты класса открытыми.

Обычно, область доступа полей класса делают закрытой (private), то есть доступ к ним разрешается только методам того же класса. Чтобы предоставить пользователям класса значения его полей, используются свойства: они позволяют классу контролировать изменение его полей, например проверять принадлежность заданного значения диапазону допустимых значений.

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

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

 можно,метка const при объявлении метода, означает что данный метод не может изменять поля внутри объекта и поэтому при попытке изменения вылетает ошибка. Использовать данную метку можно для предотвращения ошибок во время описания методов. Т.е. если метод должен только выводить инфу об объекте то стоит сделать его константным, так как он не изменяет поля объекта

  1. Что такое точечный оператор, и для чего он используется?

Точечный оператор. Точечный оператор использует название object на его левой стороне и название собственности или переменный на его правой стороне. Собственное или имя переменной не может быть строкой или переменной, которая оценивает к строке; это должен быть идентификатор. Следующие примеры используют точечный оператор:

year.month = "June";

year.month.day = 9;

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

  1. Могут ли методы быть закрытыми?

да, для реализации внутренней логики класса

  1. Если объявить два объекта класса Dog, могут ли они иметь различные значения атрибутов name?

Да. Каждый объект класса имеет свои собственные переменные-члены.

  1. Нужно ли объявление класса завершать точкой с запятой? а встроенную в объявление класса реализацию его методов ?

Объявления класса заканчиваются точкой с запятой после закрывающей фигурной скобки

  1. Как выглядел бы заголовок метода voice класса Dog, который не принимает никаких параметров и не возвращает значение?

class Dog{

void voice();

}