- •Завдання №1
- •Код програми
- •Завдання №2
- •Завдання: Код програми
- •Завдання №3
- •Теоретичні відомості
- •Код програми Файл Main.Java
- •Файл Клава.Java
- •Файл Тел.Java
- •Завдання №4
- •Код програми Файл Main.Java
- •Файл Papers.Java
- •Файл Book.Java
- •Завдання №5
- •Теоретичні відомості.
- •Завдання
- •Код програми Файл Main.Java
- •Файл jdbcAdapter.Java
- •Результат програми
- •Практика
- •Файл Table.Javа
- •Файл Main.Javа
Файл Тел.Java
import java.awt.Graphics;
import java.awt.Graphics2D;
public class Book extends Papers {
String typeOfBook;
int yearPublication;
String tp = new String();
public Book() {
typeOfBook = "Вони є";
yearPublication = 14;
tp = Integer.toString(yearPublication);
}
public int getYearPublication() {
return yearPublication;
}
public void setYearPublication(int yearPublication) {
this.yearPublication = yearPublication;
}
public String getTypeOfBook() {
return typeOfBook;
}
public void setTypeOfBook(String typeOfBook) {
this.typeOfBook = typeOfBook;
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.drawRoundRect(20, 70, 340, 200, 20, 15);
g2.drawString("Мій телефон!", 150, 150);
g2.drawString("Тип клавіш: ", 115, 170);
g2.drawString("Кількість: ", 115, 190);
g2.drawString(typeOfBook, 230, 170);
g2.drawString(tp, 230, 190);
}
}
Висновок: виконавши лабораторну роботу, я навчився використовувати спадкування. Навчився перевизначати методи при спадкуванні. Навчився використовувати приведення типів об’єктів вгору. Навчився використовувати поліморфізм.
Завдання №4
Тема: Колекції. Приведення типу вниз. RTTI.
Мета: Навчитись використовувати колекції об’єктів. Зрозуміти, в якому випадку і як робиться приведення типу об’єктів вниз. Навчитись користуватись визначенням типу об’єктів під час виконання програми.
В даній роботі будуть використовуватись два класи, розроблені в попередній лабораторній роботі. Додати один оригінальний метод до другого класу.
Розробити програму, яка:
-
Створює колекцію об’єктів класів попередньої лабораторної роботи (JPanel та двох власних класів), причому об’єкти вносяться в колекцію у випадковій послідовності (використати генератор випадкових чисел).
-
Відображає колекцію на екрані з можливістю вибору поточного елементу.
-
Відображає тип поточного об’єкту, беручи інформацію з об’єкту типу Class для даного об’єкту.
-
Забезпечує можливість виконання методів поточного об’єкту, в тому числі тих методів, яких нема в класі-предку.
Код програми Файл Main.Java
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class Main extends Jframe {
private static Random random = new Random();
private int z=0;
private int a=0;
static Jbutton key = new Jbutton(«key»);
public static void main(String argv[]) {
final int x=1366, y=768;
Main m = new Main();
m.getContentPane().add(key, BorderLayout.NORTH);
m.setSize(x, y);
m.setVisible(true);
}
Vector<Jpanel> panels;
Main()
{
final FlowLayout fl = new FlowLayout();
this.setLayout(fl);
panels = new Vector<Jpanel>();
int to = random.nextInt(20)+10;
for(int i=0;i<=to;i++)
{
final Jpanel p;
if(random.nextBoolean()){
p = new Papers(20+z, 30+a);
z=z+10;
a=a+10;
}
else
p = new Book();
p.setMinimumSize(new Dimension(380,300));
p.setPreferredSize(new Dimension(380,300));
panels.add(p);
}
final Container pane = this.getContentPane();
for(int i=0;i<panels.size();i++)
pane.add(panels.get(i));
}
}