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

OOP / Лаб 12

.docx
Скачиваний:
27
Добавлен:
10.02.2016
Размер:
17.74 Кб
Скачать

Министерство образования и науки Украины

Одесский национальный политехнический университет

Кафедра системного программного обеспечения.

Протокол лабораторной работы № 12

По дисциплине:

Объектно-ориентированное программирование

Вариант 10

Выполнил

студент AC-121

Куценко Дмитрий Сергеевич

Преподаватель Левченко А.Ю

Одесса 2013 (год)

Лабораторна робота №12 «Интерфейсы. Java»

Используя задание к лабораторной работе №10, создать интерфейс для вывода на экран некоторых данных. Реализовать наследование интерфейсов. Продемонстрировать работу программы для объектов разных классов.

Задание

Используя задание к лабораторной работе №2 создать иерархию классов и виртуальные функции.

Исходные данные для лабораторной работы

Используютcя исходные данные для лабораторной работы №1. Кроме этого, используются дополнительные характеристики прибора, приведенные в таблице 2.

Таблица 1. Характеристики приборов, реализуемые в варианте задания.

№ варианта

Характеристики прибора

10

1,3,8

1.Наименование прибора.

  1. Габариты: длина, высота, ширина.

  1. Вес.

  2. Стоимость.

  3. Гарантийный срок.

  4. Диапазон температур: tmin, tmax.

  5. Источник питания: напряжение, ток, частота.

  6. Измерения. Имеется несколько измеряемых величин. Каждая характеризуется:

названием измеряемой величины;

нижним пределом;

верхним пределом;

погрешностью.

  1. Покупные изделия. Имеется несколько покупных изделий. Каждое характеризуется:

названием;

количеством;

названием поставщика

  1. Заказчик. Имеется несколько заказчиков. Каждый характеризуется:

Наименованием;

адресом;

количеством заказанных приборов.

Таблица 2. Дополнительные характеристики приборов.

№ варианта

Дополнительные характеристики прибора

10

4

Выполнение лабораторной работы

  • Создать иерархию из трёх классов (Абстрактный ←Класс1←Класс2).

  • Продемонстрировать работу с объектами разных классов и использование функций.

Код программы

package javalab12;

import java.util.*;

interface TestInterface//базовый интерфейс

{

void PrintInter();

void print();

}

interface TestInterface1 extends TestInterface//порождённый интерфейс

{

void AddInter();

void add();

}

abstract class Abstrac implements TestInterface1//Реализация интерфейса

{

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;

}

@Override

public void PrintInter(){// метод из интерфейса TestInterface

System.out.println("Название товара:"+name);

System.out.println("Нижний предел:"+niz);

System.out.println("Верхний предел:"+verx);

System.out.println("Погрешность:"+pogr);

System.out.println("Вес:"+ves);

}

@Override

public void AddInter(){// метод из интерфейса TestInterface1

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();

}

@Override

public void add(){}

@Override

public void print(){}

}

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;

}

@Override

public void print()//метод из интерфейса TestInterface{

System.out.println("Название товара:"+name);

System.out.println("Нижний предел:"+niz);

System.out.println("Верхний предел:"+verx);

System.out.println("Погрешность:"+pogr);

System.out.println("Вес:"+ves);

System.out.println("Цена"+cena);

}

@Override

public void add()// метод из интерфейса TestInterface1

{

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 JavaLab12 {

public static void main(String[] args) {

Klass2 a1 = new Klass2("Test1",1,2,3,4,5);

Klass1 a2 = new Klass1("Test2",2,3,4,5);

a1.print();

a2.PrintInter();

a1.add();

a2.AddInter();

a1.print();

a2.PrintInter(); }

}

Соседние файлы в папке OOP