Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_2 / Лаб_2

.pdf
Скачиваний:
7
Добавлен:
29.02.2016
Размер:
70 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ ТРАНСПОРТНИЙ УНІВЕРСИТЕТ

Факультет транспортних та інформаційних технологій Кафедра інформаційних систем і технологій

Лабораторна робота№2

з дисципліни

«Об’єктно-орієнтовне програмування»

«Cтворення простих класів в Java»

Виконав ст. гр. КН-ІI-2

Юрчук О.С.

Перевірила

Міронова В.Л.

Київ 2013

Варіант 8

Завдання: Створіть на Java прості класи та продемонструйте їх функції.

Клас «квадратне рівняння»:

- квадратне рівняння задається трьома числами (a,b,c), які описують рівняння

a x2 + b x + c;

-існує метод для обчислення кількості коренів рівняння;

-існує метод для обчислення коренів, який повертає масив з одного або двох чисел або NULL.

Клас quard

import java.util.Scanner; class quard {

int a,b,c; double d,x1,x2; quard ()

{

Scanner sc =new Scanner(System.in); System.out.println("Введіть А: "); a=sc.nextInt(); System.out.println("Введіть B: "); b=sc.nextInt(); System.out.println("Введіть C: "); c=sc.nextInt();

}

void kolvo()

{

d =(b*b)-4*a*c; if (d<0)

System.out.println("Рівняння не має коренів!"); else if (d==0)

System.out.println("Рівняння має два однакові корені!"); else System.out.println("Рівняння має два різні корені!");

}

void zn()

{

d =(b*b)-4*a*c; x1=((-b)-Math.sqrt(d))/(2*a); x2=((-b)+Math.sqrt(d))/(2*a); if (d==0)

System.out.println("X1=X2="+x1); else if (d>0)

{

System.out.println("X1="+x1); System.out.println("X2="+x2);

}

else

System.out.println("NULL");

}

}

Клас Viev

import java.util.Scanner; public class Viev {

public static void main(String[] args) { Scanner sc =new Scanner(System.in); int diya;

quard KOL=new quard(); int k=1;

while (k==1)

{

System.out.println("Виберіть дію: 1 - кількість коренів, 2 - Обчислення коренів, 3 -

Вихід");

diya=sc.nextInt(); switch (diya) {

case 1: KOL.kolvo(); break; case 2: KOL.zn(); break; case 3: k=0; break; default:

}

}

}

}

Приклад роботи програми

Введіть А: 5 Введіть B: 12 Введіть C: 3

Виберіть дію: 1 - кількість коренів, 2 - Обчислення коренів, 3 - Вихід 1 Рівняння має два різні корені!

Виберіть дію: 1 - кількість коренів, 2 - Обчислення коренів, 3 - Вихід 2

X1=-2.1165151389911676

X2=-0.283484861008832

Виберіть дію: 1 - кількість коренів, 2 - Обчислення коренів, 3 - Вихід 3

Контрольні запитання

1.Назвіть основні принципи об’єктно-орієнтованого програмування

2.Що таке клас?

3.Спеціфікатори доступу у класі.

4.Що таке метод класу? Які існують методи класу?

5.Що таке конструктор класу? Види конструкторів?

6.Що таке об’єкт? Як створити об’єкт класу.

1.Клас,Об’єкт,Метод,Успадкування,Інкапсуляція,Абстрагування,Поліморфізм.

2.Клас-це множина об’єктів об’єднаних загальністю структури та поведінки. Ідея класу полягає в об’єднанні даних і алгоритмів їх опрацювання. Дані називають полями класу, алгоритми – методами, а власне об’єднання - інкапсуляцією.

3.Private,protected,public.

4.Метод – це певний алгоритм для виконання поставленої задачі, який прописується у класі. Методи є: конструктори, деструктори, селектори, модифікатори, ітератори.

5.Конструктор – це метод призначений для ініціалізації стану екземплярів класу при їх створенні. Конструктори є:

1)Конструктор ініціалізації містить окремі значення, що використовуються для ініціалізації стану полів екземпляру класу. У списку параметрів такого списку може бути зазначено 0,1 чи більше параметрів будь-якого типу. Конструктор, що містить порожній список параметрів називається порожній конструктор (або за замовчуванням)

2)Конструктор копіювання – ініціалізує стан класу значення іншого екземпляру цього класу. В списку параметрів вказується єдиний параметр, що має тип «посилання на екземпляр класу».

6.Об’єкт класу – це інкапсульована абстракція, що включає в себе інформацію про стан та чітко визначену множину протоколу доступу.

[ім’я класу] [ім’я об’єкту]=new [ім’я класу]();

Соседние файлы в папке Лаб_2