Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки
Національний університет „Львівська політехніка”
Кафедра EОМ
Звіт
з лабораторної роботи № 3
з дисципліни: Кросплатформні засоби програмування
Тема: класи та пакети
Мета: ознайомитися з процесом розробки класів та пакетів мовою Java.
Завдання
Написати та налагодити програму на мові Java, що реалізує у вигляді класу предметну область згідно варіанту. Програма має задовольняти наступним вимогам:
програма має розміщуватися в пакеті Група.Прізвище.Lab3;
клас має містити мінімум 3 поля, що є об’єктами класів, які описують складові частини предметної області;
клас має містити кілька конструкторів та мінімум 10 методів;
для тестування і демонстрації роботи розробленого класу розробити клас-драйвер;
методи класу мають вести протокол своєї діяльності, що записується у файл;
розробити механізм коректного завершення роботи з файлом (не надіятися на метод finalize());
програма має володіти коментарями, які дозволять автоматично згенерувати документацію до розробленого пакету.
Автоматично згенерувати документацію до розробленого пакету.
Скласти звіт про виконану роботу з приведенням тексту програми, результату її виконання та фрагменту згенерованої документації.
Дати відповідь на контрольні запитання.
Варіант
1. Людина
Код програми
App.java
/**
* Class App tests correct work Human Class
*
* @author blazhko
*
*/
public class App {
/**
* Static method main() is program entry point
*
* @param args
*/
public static void main(String[] args) {
Human human = new Human("Max", 20);
human.printInfo();
human.walk();
human.die();
human.stay();
}
}
Human.java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
/**
* Class Human describes main human's function's
*
* @author blazhko
*
*
*/
public class Human {
public Eye rightEye;
public Eye leftEye;
public Head head;
public Hair hair;
private String name;
private int age;
public static int ID = 12345;
private File datafile;
private PrintWriter fout;
private boolean isLogEnable;
/**
* Constructor on default
*/
public Human() {
ID++;
this.name = "Jane Doe";
this.age = 0;
datafile = new File(this.name + ID + ".txt");
try {
logEnable();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/**
* Constructor
*
* @param street
* @param number
*/
public Human(String name, int age) {
ID++;
this.name = name;
this.age = age;
datafile = new File(this.name + ID + ".txt");
try {
logEnable();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/**
* Turn on log in file
*
* @throws FileNotFoundException
*/
private void logEnable() throws FileNotFoundException {
isLogEnable = true;
fout = new PrintWriter(datafile);
}
/**
* Turn off log in file and close thread
*/
private void logDisable() {
isLogEnable = false;
fout.close();
}
/**
* Start walking
*/
public void walk() {
System.out.println("Walking.....");
if (isLogEnable) {
fout.println("Walking.....");
}
}
/**
* Stop walking
*/
public void stay() {
System.out.println("Walking stopped ");
if (isLogEnable) {
fout.println("Walking stopped ");
}
logDisable();
}
/**
* Print main info about class object
*/
public void printInfo() {
System.out.println("Human ID" + ID);
System.out.println(" Name: " + name);
System.out.println(" Age: " + age);
if (isLogEnable) {
fout.println("Human ID" + ID);
fout.println(" Name: " + name);
fout.println(" Age: " + age);
}
}
/**
* human specs
*/
public void setSpecs() {
head = new Head();
rightEye = new Eye("blue");
leftEye = new Eye("red");
hair = new Hair("dark");
}
/**
* Human will die:(
*/
public void die() {
System.out.println("Human ID" + ID + " died");
System.out.println(" Name: " + name);
System.out.println(" Age: " + age);
if (isLogEnable) {
fout.println("Human ID" + ID + " died");
fout.println(" Name: " + name);
fout.println(" Age: " + age);
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Head.java
public class Head {
public Head() {
System.out.println("Head initializing.....");
}
public void addElement(Object element) {
System.out.println(element.toString() + " added to head");
}
}
Hair.java
public class Hair {
public String color;
private double length;
public Hair(String color) {
this.color = color;
length = 0.01;
}
public void grow() {
length += 0.01;
}
@Override
public String toString() {
return "hair: " + color;
}
public double getLength() {
return length;
}
}
Eye.java
public class Eye {
public String color;
public Eye(String color) {
this.color = color;
}
public void closeEyes() {
System.out.println("Eye closed");
}
@Override
public String toString() {
return "eye: " + color;
}
}
Рис. 1. Результат виконання програми.
Висновок: виконуючи дану лабораторну роботу я ознайомився з процесом розробки класів та пакетів мовою Java.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!