Вопросы к семинару
«Объектно-ориентированное программирование»
- Что такое объектно-ориентированное программирование? Чем эта технология отличается от других технологий программирования?
- На каких понятиях основано ООП?
- Что такое объектная декомпозиция?
- Перечислите этапы объектной декомпозиции.
- Сформулируйте определение понятия «класс».
- Почему новый класс описывается в разделе Type?
- Каких правил следует придерживаться при описании нового класса в Delphi?
- Чем тип данных «класс» отличается от других типов языка Object Pascal?
- Перечислите члены класса. Дайте им краткую характеристику.
- Какие характеристики объекта помогают определить свойства (поля), а какие методы класса?
- Чем понятие «объект» отличается от понятия «класс»?
- Правильно ли записан пример? Укажите возможные ошибки.
TMyClass=class(TObject);
FName:string;
procedure DoSomething(K:integer);
FAge:integer;
function AddOne(N:integer):integer;
end;
- Почему при реализации метода перед его именем необходимо указывать имя класса, которому принадлежит данный метод?
- Создать класс однокомнатная квартира, содержащий комнату (имеет площадь), кухню (площадь), этаж. Определить процедуру вывода на экран значений полей объекта.
- Какую роль играет класс TObject в языке программирования Object Pascal (Delphi)?
- Какую роль играет метод конструктор в объектно-ориентированном программировании?
- Сколько конструкторов может быть объявлено в одном классе?
- Напишите инструкцию, после выполнения которой, выделяется место в памяти для объекта DFG класса TFirstClass?
- Напишите инструкцию, после выполнения которой, выделяется удалится объекта RTF класса TMyClass?
- Напишите инструкцию применения метода Show к объекту student.
- Чем метод Free отличается от метода Destroy?
- В каком случае нельзя обойтись конструктором базового класса TObject, а необходимо создавать новый конструктор?
- Что произойдет, если после создания экземпляра класса с помощью конструктора будет опять вызван конструктор?
- Опишите этапы создания объекта в программе?
- Объясните причины введения в ООП принципа наследования. Приведите пример родительского и класса-потомка.
- Что такое иерархия наследования?
- Класс объявлен следующим образом:
Type TMyClass=class
end;
Какой класс будет считаться родительским для класса TMyClass?
- В соответствии с принципом наследования от родительского класса классом-предком наследуются:
a) только поля;
b) только свойства;
c) только методы;
d) поля и методы;
e) свойства и методы;
f) поля, свойства и методы.
- Может ли класс-потомок иметь поля и методы, отличные от полей и методов родительского класса? Объясните ваше мнение.
- Для чего и как вызываются родительские методы класса?
- Конструктор класса должен по умолчанию установить два поля класса, одно из них унаследовано от родительского класса. Как корректно это сделать?
- Что такое классовые методы? Чем они отличаются от обычных методов?
- Для чего предназначены классовые методы? Какие классовые методы вы знаете? Какое зарезервированное слово употребляется при описании классовых методов?
- В чем заключается принцип полиморфизма?
- В чем заключается принцип инкапсуляции?