Лаболаторна робота №4

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп’ютеризовані системи
Кафедра:
Не вказано

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
СП

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Лаболаторна робота №4 з дисципліни «Алгоритмічне та програмне забезпечення комп’ютеризованих систем керування» Варіант №9 Лабораторна 4. Абстрактні класи /* Абстрактний клас означується ключовим словом 'abstract' В абстрактних класах 'abstract class Фігура' можна означити абстрактні методи 'public abstract void Площа();' В абстрактному методі 'public abstract void Площа();' немає тіла. Реалізація метода переноситься в класи-спадкоємці (Квадрат, Трикутник, Коло), при цьому метод 'public override void Площа()' в цих класах позначаються ключовим словом 'override' і в кожному класі-спадкоємці метод 'Площа()' має своє тіло реалізації, наприклад в класі Квадрат наступне: ( Console.WriteLine("Площа {0}а складає {1}", назва, висота * ширина); Console.ReadLine();) */ using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main() { Фігура[] розрахунок = new Фігура[] { new Квадрат(10, 10, "квадрат"), //означено масив абстрактного класу Фігура. В цьому масиві абстрактного класу Фігура зберігаються обєкти (Квадрат, Трикутник, Коло) трьох похідних класів new Трикутник(5, 25, "трикутник"), new Коло(10, "диск")}; for (int i = 0; i < розрахунок.Length; i++) розрахунок[i].Площа(); } } abstract class Фігура { public int висота, ширина;//відкриті поля (висота, ширина) типу int public string назва;//відкрите поле(назва) типу string public Фігура(int висота, int ширина, string назва) //перезавантажений конструктор, що дозволяє всі значення цих полів встановити при означенні фігури { this.висота = висота; this.ширина = ширина; this.назва = назва; } public abstract void Площа(); //Означено абстрактний метод (визначено модифікатор доступу-'public',прописано ключове слово-'abstract', //вказано тип значення, що повертається-'void', далі приписано імя методу-'Площа()'). //Тіла в абстрактному методі немає. Реалізація метода переноситься в класи-спадкоємці (Квадрат, Трикутник, Коло). } class Квадрат : Фігура { public Квадрат(int висота, int ширина, string назва) : base(висота, ширина, назва) { } public override void Площа() { Console.WriteLine("Площа {0}а складає {1}", назва, висота * ширина); Console.ReadLine(); } } class Трикутник : Фігура { public Трикутник(int висота, int ширина, string назва) : base(висота, ширина, назва) { } public override void Площа() { Console.WriteLine("Площа {0}а складає {1}", назва, висота * ширина / 2); Console.ReadLine(); } } class Коло : Фігура { float p = 3.141596f; public Коло(int радіус, string назва) : this(радіус, 0, назва) { } //обєкту () класу Коло передаються значення радіус і назва. Цей конструктор переадресовує їх закритому конструктору (передає три параметри: радіус, 0, назва) Коло(int висота, int ширина, string назва) : base(висота, ширина, назва) { } // закритий конструктор отримує три параметри (радіус, 0, назва) і переадресовує їх конструктору 'public Фігура(int висота, int ширина, string назва)' //в базовому класі Фігура public override void Площа() { Console.WriteLine("Площа {0}а складає {1}", назва, p * висота * висота); Console.ReadLine(); } }
Антиботан аватар за замовчуванням

18.12.2015 00:16

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!