Учреждение образования «Гомельский торгово-экономический колледж» Белкоопсоюза
ЛАБОРАТОРНАЯ РАБОТА №1
«Изучение принципов работы классов»
По дисциплине «Объектно-ориентированное программирование»
специальность:
2-40 01 01 «Программное обеспечение информационных технологий»
специализация:
2-40 01 01 35 «Программное обеспечение обработки экономической и деловой информации»
Выполнил
Учащийся гр. П-22
Паньков И.А.
Проверил преподаватель
О.Л. Иткина
Гомель, 2012
Цель работы: изучить принципы работы классов
Ход работы:
Задание 1. Наберите и проанализируйте программу. Определите в данной программе принципы работы созданных классов. Объясните результаты выполнения программы.
В программе объявляется класс "Person", которому поставлены в соответствие два поля — "Name" и "Forname" — и методы — "Einlesen" и "Ausgaben". Как видно из текста программы, методы только объявляются в декларации класса, а полностью специфицируются (описываются) несколько позже. В таких спецификациях имя метода (процедуры или функции) предваряется префиксом —именем класса, к которому относится данный метод. Это необходимо, т.к. в разных классах могут использоваться методы, разные по содержанию, но одинаковые по именам. Без префикса привязка методов к своим классам была бы невозможной. В программе объявлен объект "Pers", принадлежащий классу "Person". В главной программе методы "Einlesen" и "Ausgeben" применены к этому объекту "Pers".
Класс "Person" в определенном смысле может рассматриваться как класс верхнего уровня. Персоны могут обладать различными качествами, что позволяет выделять их из класса "Person". Так, совокупность персон (составляющих класс "Person") может быть поделена на два подкласса — "Kraftfahrer" (водитель) и "Nichkraftfahrer" (неводитель). Объекты обоих подклассов имеют те же поля, что и объекты класса "Person": поле "Name" (фамилия) и " Vorname" (имя). Кроме того, для подклассов можно вывести дополнительные поля, отсутствующие в классе верхнего уровня. Так, для класса "Person" можно объявить, что подкласс водителей имеет дополнительные поля идентификатора водительских прав и марки автомобиля.