Создана основа ооп для задач
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