Создана основа ооп для задач
This commit is contained in:
parent
768f7ddf37
commit
7aa394ec08
@ -1,9 +0,0 @@
|
||||
package ru.kamask.pet;
|
||||
|
||||
public class TodoApp {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
18
todo/src/main/java/ru/kamask/pet/todo/TodoApp.java
Normal file
18
todo/src/main/java/ru/kamask/pet/todo/TodoApp.java
Normal file
@ -0,0 +1,18 @@
|
||||
package ru.kamask.pet.todo;
|
||||
|
||||
import ru.kamask.pet.todo.model.SimpleTask;
|
||||
|
||||
public class TodoApp {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static void main(String[] args) {
|
||||
var task = new SimpleTask("TodoApp");
|
||||
System.out.println(task);
|
||||
|
||||
task.markAsCompleted();
|
||||
|
||||
var taskData = task.data();
|
||||
System.out.println(taskData);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package ru.kamask.pet.todo.model;
|
||||
|
||||
public interface DataBuilder<T> {
|
||||
T data();
|
||||
}
|
||||
35
todo/src/main/java/ru/kamask/pet/todo/model/SimpleTask.java
Normal file
35
todo/src/main/java/ru/kamask/pet/todo/model/SimpleTask.java
Normal file
@ -0,0 +1,35 @@
|
||||
package ru.kamask.pet.todo.model;
|
||||
|
||||
public class SimpleTask extends Task implements DataBuilder<SimpleTask.Data> {
|
||||
private boolean done = false;
|
||||
|
||||
public SimpleTask(String title) {
|
||||
super(title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markAsCompleted() {
|
||||
done();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCompleted() {
|
||||
return isDone();
|
||||
}
|
||||
|
||||
void done() {
|
||||
done = true;
|
||||
}
|
||||
|
||||
boolean isDone() {
|
||||
return done;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Data data() {
|
||||
return new Data(id, title, done);
|
||||
}
|
||||
|
||||
record Data(int id, String title, boolean done) {
|
||||
}
|
||||
}
|
||||
23
todo/src/main/java/ru/kamask/pet/todo/model/Task.java
Normal file
23
todo/src/main/java/ru/kamask/pet/todo/model/Task.java
Normal file
@ -0,0 +1,23 @@
|
||||
package ru.kamask.pet.todo.model;
|
||||
|
||||
public abstract class Task {
|
||||
private static int nextId = 1;
|
||||
|
||||
protected int id;
|
||||
protected String title;
|
||||
|
||||
Task(String title) {
|
||||
this.id = nextId++;
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("Задача: id - %d, title: \"%s\"", id, title);
|
||||
}
|
||||
|
||||
abstract public void markAsCompleted();
|
||||
|
||||
abstract public boolean isCompleted();
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user