Практическая работа №33, 34, 35

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

Цель работы: 1) освоить создание классов, связанных отношением наследования;

2) освоить написание конструкторов;

3) освоить переопределение методов

знания (актуализация)

· понятие класса;

· понятие наследования, понятия предка и потомка;

· правила работы с конструкторами иерархически связанных между собой классов;

· правила работы с методами;

умения:

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

Теоретический материал

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

Пример. Создать классы «фигура» и «треугольник» так, чтобы «фигура» был «предком», а «треугольник» - потомком.

Практическая работа №33, 34, 35 - student2.ru

Практическая работа №33, 34, 35 - student2.ru Практическая работа №33, 34, 35 - student2.ru

Ход работы

1. Создайте проект для решения одной из приведенных ниже задач.

1.1. Проект, позволяющий работать с информацией по насекомым.

Для этого:

· создайте классы: «Насекомые», «Бабочки», «Пчелы»;

· создайте форму, которая позволяла бы вводить новые данные в библиотеку (в файлы «бабочки.txt» и «пчелы.txt»):

1) для «Бабочек»: вид («Апполон», «Мнемозины», «Тизания агриппина» и т.д.), размах крыльев, скорость передвижения, окраска, используемая пища, вид жилища, среда обитания;

2) для «Пчел»: порода или вид (среднерусская, дальневосточная, карпатская, итальянская и т.д.), длина хоботка, скорость передвижения, окраска, используемая пища, среда обитания, вид жилища, количество меда, собираемого с одного улья за сезон

· обеспечьте вывод данных по имеющейся в библиотеке литературе (из файлов «бабочки.txt» и «пчелы.txt»);

· определите:

1) породу самых быстрых пчел;

2) список и количество бабочек по выбранному виду жилища;

3) список и количество насекомых, обитающих в определенной местности;

4) бабочек с самым большим размахом крыльев;

5) одну (две) самых медоносных породы пчел (считая, что у всех пород пчел разная медоносность);

6) список пчел в порядке возрастания скорости передвижения (с указанием породы пчелы и ее скорости)

1.2. Проект, позволяющий работать с информацией по автомобилям.

Для этого:

· создайте классы: «Автомобили», «Легковые автомобили», «Грузовые автомобили»

· создайте форму, которая позволяла бы вводить новые данные в библиотеку (в файлы «легковые.txt» и «грузовые.txt»):

1) для «Легковых автомобилей»: марка, тип кузова (седан, универсал и т.д.), мощность двигателя, вид привода (передний, задний, полный), максимальная скорость, расход топлива;

2) для «Грузовых автомобилей»: марка, длина, ширина, высота и объем грузового отсека, мощность двигателя, грузоподъемность, вид привода (задний, полный);

· обеспечьте вывод данных по имеющейся в библиотеке литературе (из файлов «легковые.txt» и «грузовые.txt»);

· определите:

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

2) список и количество автомобилей по выбранному виду привода;

3) список и количество легковых автомобилей по выбранной марке;

4) самый быстрый легковой (грузовой) автомобиль;

5) список автомобилей с мощностью двигателя в определенных пределах;

6) список грузовых автомобилей в порядке убывания грузоподъемности (с указанием марки и грузоподъемности)

1.3. Проект, позволяющий работать с информацией по библиотечным изданиям.

Для этого:

· создайте классы: «Литература», «Книги» и «Газеты»;

· создайте форму, которая позволяла бы вводить новые данные в библиотеку (в файлы «книги.txt» и «газеты.txt»):

3) для книг: название, автора, год выпуска, объем в листах, количество штук в хранилище, количество выданных на руки экземпляров;

4) для газет: название, номер, дату выпуска и объем в листах;

· обеспечьте вывод данных по имеющейся в библиотеке литературе (из файлов «книги.txt» и «газеты.txt»);

· определите:

1) общее количество библиотечных изданий, хранящихся в библиотеке;

2) количество изданий по категориям (книги, газеты);

3) самое объемное издание в каждой категории;

4) список книжных изданий (с указанием их количества), полностью выданных на руки;

5) список книжных изданий самого раннего года выпуска;

6) информацию по изданиям, вышедшим в определенном году (по категориям);

7) все книги определенного автора;

8) список номеров определенной газеты за некоторый период времени;

9) список газет, хранящихся в библиотечном фонде и выпущенных до определенного года (после него).

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

Для этого:

· создайте классы: «Человек», «Юноша» и «Девушка»;

· создайте форму, которая позволяла бы вводить новые данные по студентам колледжа (в файлы «юноши.txt» и «девушки.txt»):

1) для юношей: имя, фамилию, специальность, группу, вид спорта, оценки по двум предметам («ОАП» и «БД»);

2) для девушек: имя, фамилию, специальность, группу, рост, оценки по двум предметам (аналогично);

· обеспечьте вывод данных по студентам (из файлов «юноши.txt» и «девушки.txt»);

· определите:

1) список студентов (с указанием их количества) определенной группы;

2) количество студентов определенной специальности;

3) количество юношей и девушек в выбранной группе;

4) количество и процент студентов, сдавших все экзамены на «4» и «5» вообще (и по выбранной группе);

5) количество студентов, сдавших выбранный предмет в определенной группе на «3»;

6) название специальности, студенты которой лучше всего сдали «ОАП» (наибольшее количество отличников);

7) список девушек, которые могли бы заниматься в баскетбольной секции (рост должен быть не ниже 170 см);

8) название предмета, который был сдан лучше всего (по среднему баллу);

9) номера групп в порядке убывания средней успеваемости их студентов.

· добавьте возможность внесения новых данных по вновь зачисленным студентам.

2. Ответьте на контрольные вопросы:

- Что такое класс?

- Какие принципы объектно-ориентированного программирования вы знаете?

- Как вы понимаете суть наследования?

- Какие методы есть у любого класса?

- Каким ключевым словом необходимо снабдить метод предка, чтобы его потомки могли этот метод изменять?

- Назовите модификаторы видимости класса.

3. Оформите и сдайте отчет преподавателю.

Наши рекомендации