Task 9 — Интерфейсы Nameable/Priceable
Единые API для объектов с именем и ценой.
Edit on GitHubЗадание
Единые API для объектов с именем и ценой. Документация собрана по исходному коду этой практики.
Решение
Полный код решения по этой практике:
Исходные файлы решения
Task9/Car.javaTask9/Dishes.javaTask9/Dog.javaTask9/Nameable.javaTask9/Priceable.javaTask9/TestNameable.java
Task9/Car.java
package Task9;
public class Car implements Nameable{
String name;
public Car(String name){
this.name = name;
}
@Override
public String getName() {
return name;
}
public String toString(){
return "Car = "+ name;
}
}
Task9/Dishes.java
package Task9;
import java.awt.print.Printable;
public class Dishes implements Priceable{
double price;
public Dishes(double price){
this.price = price;
}
@Override
public void getPrice() {
System.out.printf("Цена = %s", price);
//return price;
}
public static void main(String[] args){
Priceable p = new Dishes(12345);
//System.out.println(p);
p.getPrice();
}
}
Task9/Dog.java
package Task9;
public class Dog implements Nameable{
String name;
public Dog(String name) {
this.name = name;
}
@Override
public String getName() {
return name;
}
@Override
public String toString() {
return "Dog = " + name;
}
}
Task9/Nameable.java
package Task9;
public interface Nameable {
String getName();
}
Task9/Priceable.java
package Task9;
public interface Priceable {
void getPrice();
}
Task9/TestNameable.java
package Task9;
public class TestNameable {
public static void main(String[] args){
Nameable n = new Dog("KOL");
Nameable n1 = new Car("TOYOTA");
System.out.println(n);
System.out.println(n1);
}
}
Описание
В этом модуле используется 6 Java-файлов. Ключевые сущности: Car, Dishes, Dog, Nameable, Priceable, TestNameable.
tip
Для проверки практики сначала запускайте тестовый/демо-класс из папки задачи, затем расширяйте модель новыми кейсами.
Вывод
Task 9 — Интерфейсы Nameable/Priceable документирует реальное решение из исходного кода.