OOP / Лаб 10
.docxМинистерство образования и науки Украины
Одесский национальный политехнический университет
Кафедра системного программного обеспечения.
Протокол лабораторной работы № 10
По дисциплине:
Объектно-ориентированное программирование
Вариант 10
Выполнил
студент AC-121
Куценко Дмитрий Сергеевич
Преподаватель Левченко А.Ю
Одесса 2013 (год)
Лабораторна робота №10 «Наследование. Java»
Используя задание к лабораторной работе №2 создать иерархию классов и виртуальные функции.
Исходные данные для лабораторной работы
Используютcя исходные данные для лабораторной работы №1. Кроме этого, используются дополнительные характеристики прибора, приведенные в таблице 2.
Таблица 1. Характеристики приборов, реализуемые в варианте задания.
№ варианта |
Характеристики прибора |
10 |
1,3,8 |
1.Наименование прибора.
-
Габариты: длина, высота, ширина.
-
Вес.
-
Стоимость.
-
Гарантийный срок.
-
Диапазон температур: tmin, tmax.
-
Источник питания: напряжение, ток, частота.
-
Измерения. Имеется несколько измеряемых величин. Каждая характеризуется:
названием измеряемой величины;
нижним пределом;
верхним пределом;
погрешностью.
-
Покупные изделия. Имеется несколько покупных изделий. Каждое характеризуется:
названием;
количеством;
названием поставщика
-
Заказчик. Имеется несколько заказчиков. Каждый характеризуется:
Наименованием;
адресом;
количеством заказанных приборов.
Таблица 2. Дополнительные характеристики приборов.
№ варианта |
Дополнительные характеристики прибора |
10 |
4 |
Выполнение лабораторной работы
-
Создать иерархию из трёх классов (Абстрактный ←Класс1←Класс2).
-
Продемонстрировать работу с объектами разных классов и использование функций.
Код программы:
package javalab10;
import java.util.*;
abstract class Abstrac
{
protected String name;
protected float niz,verx;
public Abstrac(String prib_name,float prib_niz,float prib_verx)
{ name=prib_name;
niz=prib_niz;
verx=prib_verx;
}
}
class Klass1 extends Abstrac {
protected int pogr;
protected float ves;
public Klass1(String prib_name, float prib_niz, float prib_verx,int prib_pogr,float prib_ves) {
super(prib_name, prib_niz, prib_verx);
pogr=prib_pogr;
ves=prib_ves;
}
}
class Klass2 extends Klass1{
protected float cena;
public Klass2(String prib_name, float prib_niz, float prib_verx, int prib_pogr, float prib_ves,float prib_cena) {
super(prib_name, prib_niz, prib_verx, prib_pogr, prib_ves);//обращение до конструктора суперкласса
cena=prib_cena;
}
public void print()
{
System.out.println("Название товара:"+name);
System.out.println("Нижний придел:"+niz);
System.out.println("Верхний придел:"+verx);
System.out.println("Погрешность:"+pogr);
System.out.println("Вес:"+ves);
System.out.println("Цена"+cena);
}
public void add()
{
Scanner in= new Scanner(System.in);
System.out.println("Введите название товара:");
name=in.nextLine();
System.out.println("Введите нижний придел:");
niz=in.nextFloat();
System.out.println("Введите верхний придел:");
verx=in.nextFloat();
System.out.println("Введите погрешность:");
pogr=in.nextInt();
System.out.println("Введите вес:");
ves=in.nextFloat();
System.out.println("Введите цену:");
cena=in.nextFloat();
}
}
public class JavaLab10 {
public static void main(String[] args) {
Klass2 a1 = new Klass2("Test1",1,2,3,4,5);
Klass2 a2 = new Klass2("Test2",2,3,4,5,6);
Klass2 a3 = new Klass2("Test3",3,4,5,6,7);
a1.add();
a2.add();
a3.add();
a1.print();
a2.print();
a3.print();
}
}