Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен в гаи redacted.doc
Скачиваний:
5
Добавлен:
27.09.2019
Размер:
676.35 Кб
Скачать

2.Что такое полиморфизм? Пример полиморфизма.

Полиморфизм – способность родственных (то есть имеющих общий родительский класс) объектов решать схожие по смыслу проблемы разными способами. Для этого в каждом классе-потомке следует переопределить нужный родительский метод. Например, для классов Circle, Line или Rectangle, являющихся наследниками класса GeomethricShape, следует переопределить родительский метод Draw(), ответственный за отрисовку фигур, чтобы нарисовать, соответственно, окружность, линию или прямоугольник.

3.Что будет выведено на экран при выполнении приведенного ниже кода?

static void Main(string[] args)

{

char a = 'a';

int b = 0;

Console.WriteLine(true ? a : b);

}

Ответ: 97, т.е. код символа а , т.к. true всегда верно

Экзаменационный билет №14

1.Понятие класса. Доступ к членам класса.

Объекты в языке С# создаются из типов. Тип объекта называется в ООП особым образом, а именно — классом. Определения классов могут использовать для создания объектов, под которыми по­нимаются реальные именованные экземпляры класса. Понятия "экземпляр класса" и "объект" означают здесь одно и то же, но термины "класс" и "объект", на что следует обратить внимание, обозначают совершенно разные вещи.

Модификаторы доступа – это ключевые слова, задающие объявленную доступность члена или типа.

  • public

  • protected

  • internal

  • private

При помощи модификаторов доступа можно задать следующие пять уровней доступности:

  • public: Неограниченный доступ.

  • protected: Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.

  • Internal: Доступ ограничен текущей сборкой.

  • protected internal: Доступ ограничен текущей сборкой или типами, которые являются производными от содержащего класса.

  • private: Доступ ограничен содержащим типом.

Доступ к члену класса может выглядеть как

class MyClass

{

public int myVar;

}

MyClass object1 = new MyClass();

object1.myVar = 1;

2. Инкапсуляция. Понятие класса как абстрактного типа данных.

Инкапсуляцией называется способность объектов «прятать» детали своей внутренней организации от пользователей. Преимущество инкапсуляции – возможность скрыть внутренние данные (поля) объекта. Как правило, при описании класса поля помечаются зарезервиро­ванным словом private. В результате доступ к ним становится возможен толь­ко с помощью открытых методов класса.

Абстра́ктный тип да́нных (АТД) — это тип данных, который предоставляет для работы с элементами этого типа определённый набор функций, а также возможность создавать элементы этого типа при помощи специальных функций. Вся внутренняя структура такого типа спрятана от разработчика программного обеспечения — в этом и заключается суть абстракции. Абстрактный тип данных определяет набор независимых от конкретной реализации типа функций для оперирования его значениями. Конкретные реализации АТД называются структурами данных.

Класс — разновидность абстрактного типа данных в объектно-ориентированном программировании (ООП), характеризуемый способом своего построения. Другие абстрактные типы данных — метаклассы, интерфейсы, структуры, перечисления, — характеризуются какими-то своими, другими особенностями. Наряду с понятием «объекта» класс является ключевым понятием в ООП (хотя существуют и бесклассовые объектно-ориентированные языки, например, JavaScript; подробнее смотрите Прототипное программирование). Суть отличия классов от других абстрактных типов данных состоит в том, что при задании типа данных класс определяет одновременно и интерфейс, и реализацию для всех своих экземпляров, а вызов метода-конструктора обязателен.