From 2f725db7789b2650fe932aeaae49901d1bdcaf57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Mon, 26 Sep 2022 14:37:48 +0300 Subject: [PATCH 01/11] part 1 --- src/ru/skypro/Car.java | 82 ++++++++++++++++++++++++++++++++++++++++ src/ru/skypro/Human.java | 52 +++++++++++++++++++++++++ src/ru/skypro/Main.java | 20 ++++++++++ 3 files changed, 154 insertions(+) create mode 100644 src/ru/skypro/Car.java create mode 100644 src/ru/skypro/Human.java diff --git a/src/ru/skypro/Car.java b/src/ru/skypro/Car.java new file mode 100644 index 0000000..9e2b3a7 --- /dev/null +++ b/src/ru/skypro/Car.java @@ -0,0 +1,82 @@ +package ru.skypro; + +public class Car { + private String brand; + + public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry) { + this.brand = brand; + this.model = model; + this.engineVolume = engineVolume; + this.color = color; + this.productionYear = productionYear; + this.productionCountry = productionCountry; + } + + private String model; + private String engineVolume; + private String color; + + @Override + public String toString() { + return "Car{" + + "brand='" + brand + '\'' + + ", model='" + model + '\'' + + ", engineVolume='" + engineVolume + '\'' + + ", color='" + color + '\'' + + ", productionYear='" + productionYear + '\'' + + ", productionCountry='" + productionCountry + '\'' + + '}'; + } + + private Integer productionYear; + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public String getEngineVolume() { + return engineVolume; + } + + public void setEngineVolume(String engineVolume) { + this.engineVolume = engineVolume; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public Integer getProductionYear() { + return productionYear; + } + + public void setProductionYear(Integer productionYear) { + this.productionYear = productionYear; + } + + public String getProductionCountry() { + return productionCountry; + } + + public void setProductionCountry(String productionCountry) { + this.productionCountry = productionCountry; + } + + private String productionCountry; +} diff --git a/src/ru/skypro/Human.java b/src/ru/skypro/Human.java new file mode 100644 index 0000000..9764e8a --- /dev/null +++ b/src/ru/skypro/Human.java @@ -0,0 +1,52 @@ +package ru.skypro; + +public class Human { + @Override + public String toString() { + return "Привет! Меня зовут "+name+". Я из города "+town+". Я родился в "+yearOfBirth+" году. Будем знакомы! Я работаю на должности "+position+" . Будем знакомы!"; + } + + private Integer yearOfBirth; + private String name; + private String position; + private String town; + + public Human(Integer yearOfBirth, String name, String town, String position) { + this.yearOfBirth = yearOfBirth; + this.name = name; + this.town = town; + this.position = position; + } + + public Integer getYearOfBirth() { + return yearOfBirth; + } + + public void setYearOfBirth(Integer yearOfBirth) { + this.yearOfBirth = yearOfBirth; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTown() { + return town; + } + + public void setTown(String town) { + this.town = town; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } +} diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 625884e..3cba65e 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -2,6 +2,26 @@ public class Main { public static void main(String[] args){ + Human Максим = new Human(1987,"Максим","Минск","бренд-менеджер"); + Human Аня = new Human(1993,"Аня","Москва","методист образовательных программ"); + Human Катя = new Human(1994,"Катя","Калининград","продакт-менеджер"); + Human Артем = new Human(1995,"Артем","Москва","директор по развитию бизнеса"); + System.out.println(Максим); + System.out.println(Аня); + System.out.println(Катя); + System.out.println(Артем); + + Car car1 = new Car("Lada","Grande","1,7л", "желтый", 2015,"Россия"); + Car car2 = new Car("Audi","A8 50 L TDI quattro","3.0л" , "черный",2020, "Германия"); + Car car3 = new Car("BMW","Z8", "3.0л", "черный",2021,"Германия"); + Car car4 = new Car("Kia","Sportage 4 поколение","2,4л" , "красный ", 2018, "Южная Корея"); + Car car5 = new Car("Hyundai","Avante","1,6л", "оранжевый", 2016,"Южная Корея"); + System.out.println(car1); + System.out.println(car2); + System.out.println(car3); + System.out.println(car4); + System.out.println(car5); + } } From 18fa8de57b277b7c27939ad36c17dc142850fc57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Mon, 26 Sep 2022 14:46:08 +0300 Subject: [PATCH 02/11] part 3 --- src/ru/skypro/Car.java | 18 ++++++++++++------ src/ru/skypro/Human.java | 10 ++++++---- src/ru/skypro/Main.java | 4 +++- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/ru/skypro/Car.java b/src/ru/skypro/Car.java index 9e2b3a7..2184706 100644 --- a/src/ru/skypro/Car.java +++ b/src/ru/skypro/Car.java @@ -1,21 +1,27 @@ package ru.skypro; +import java.util.Objects; + public class Car { private String brand; public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry) { - this.brand = brand; - this.model = model; - this.engineVolume = engineVolume; - this.color = color; - this.productionYear = productionYear; - this.productionCountry = productionCountry; + this.brand = Objects.requireNonNullElse(brand,"default"); + this.model = Objects.requireNonNullElse(model,"default"); + this.engineVolume = Objects.requireNonNullElse(engineVolume," 1,5 л"); + this.color = Objects.requireNonNullElse(color,"белый"); + this.productionYear = Objects.requireNonNullElse(productionYear,2000); + this.productionCountry = Objects.requireNonNullElse(productionCountry,"default"); } private String model; private String engineVolume; private String color; + public Car() { + this(null,null,null,null,null,null); + } + @Override public String toString() { return "Car{" + diff --git a/src/ru/skypro/Human.java b/src/ru/skypro/Human.java index 9764e8a..f4a640e 100644 --- a/src/ru/skypro/Human.java +++ b/src/ru/skypro/Human.java @@ -1,5 +1,7 @@ package ru.skypro; +import java.util.Objects; + public class Human { @Override public String toString() { @@ -12,10 +14,10 @@ public String toString() { private String town; public Human(Integer yearOfBirth, String name, String town, String position) { - this.yearOfBirth = yearOfBirth; - this.name = name; - this.town = town; - this.position = position; + this.yearOfBirth = Objects.requireNonNullElse(yearOfBirth, 0); + this.name = Objects.requireNonNullElse(name,"Информация не указана"); + this.town = Objects.requireNonNullElse(town,"Информация не указана"); + this.position = Objects.requireNonNullElse(position,"Информация не указана"); } public Integer getYearOfBirth() { diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 3cba65e..6467436 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -5,7 +5,7 @@ public static void main(String[] args){ Human Максим = new Human(1987,"Максим","Минск","бренд-менеджер"); Human Аня = new Human(1993,"Аня","Москва","методист образовательных программ"); Human Катя = new Human(1994,"Катя","Калининград","продакт-менеджер"); - Human Артем = new Human(1995,"Артем","Москва","директор по развитию бизнеса"); + Human Артем = new Human(1995,"Артем",null,"директор по развитию бизнеса"); System.out.println(Максим); System.out.println(Аня); System.out.println(Катя); @@ -16,11 +16,13 @@ public static void main(String[] args){ Car car3 = new Car("BMW","Z8", "3.0л", "черный",2021,"Германия"); Car car4 = new Car("Kia","Sportage 4 поколение","2,4л" , "красный ", 2018, "Южная Корея"); Car car5 = new Car("Hyundai","Avante","1,6л", "оранжевый", 2016,"Южная Корея"); + Car car6 = new Car(); System.out.println(car1); System.out.println(car2); System.out.println(car3); System.out.println(car4); System.out.println(car5); + System.out.println(car6); } From 3987d22a6d9247627bedbc09cb0b5c48a5f7978d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sat, 8 Oct 2022 02:33:47 +0300 Subject: [PATCH 03/11] part 1 --- src/ru/skypro/Flower.java | 55 +++++++++++++++++++++++++++++++++++++++ src/ru/skypro/Human.java | 7 ++++- src/ru/skypro/Main.java | 35 +++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 src/ru/skypro/Flower.java diff --git a/src/ru/skypro/Flower.java b/src/ru/skypro/Flower.java new file mode 100644 index 0000000..c340b4e --- /dev/null +++ b/src/ru/skypro/Flower.java @@ -0,0 +1,55 @@ +package ru.skypro; + +import java.util.Objects; + +public class Flower { + + private String name; + private String flowerColor; + private String country; + private Double cost; + private Integer lifeSpan; + + public Flower(String name, String flowerColor, String country, Double cost, Integer lifeSpan) { + this.name = name; + this.flowerColor = flowerColor == null || flowerColor.equals("") ?"Белый":flowerColor; + this.country = country == null || country.equals("") ?"Россия":country; + this.cost = cost == null || cost < 0 ? 1 : Math.round(cost*100)/100d ; + this.lifeSpan = lifeSpan == null || lifeSpan <=0 ? 3 : lifeSpan; + } + + @Override + public String toString() { + return "Flower{" + + "name='" + name + '\'' + + ", flowerColor='" + flowerColor + '\'' + + ", country='" + country + '\'' + + ", cost=" + cost + + ", lifeSpan=" + lifeSpan + + '}'; + } + + public void setLifeSpan(Integer lifeSpan) { + this.lifeSpan = lifeSpan; + } + + public String getFlowerColor() { + return flowerColor; + } + + public String getCountry() { + return country; + } + + public Double getCost() { + return cost; + } + + public Integer getLifeSpan() { + return lifeSpan; + } + + public String getName() { + return name; + } +} diff --git a/src/ru/skypro/Human.java b/src/ru/skypro/Human.java index f4a640e..4f0b818 100644 --- a/src/ru/skypro/Human.java +++ b/src/ru/skypro/Human.java @@ -25,7 +25,9 @@ public Integer getYearOfBirth() { } public void setYearOfBirth(Integer yearOfBirth) { - this.yearOfBirth = yearOfBirth; + if (yearOfBirth != null && yearOfBirth<0) { + yearOfBirth = 0; + }this.yearOfBirth = yearOfBirth; } public String getName() { @@ -41,6 +43,9 @@ public String getTown() { } public void setTown(String town) { + if (town != null && town.length()>0) { + town = "Информация не указана"; + } this.town = town; } diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 6467436..c961360 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -1,5 +1,7 @@ package ru.skypro; +import java.time.Year; + public class Main { public static void main(String[] args){ Human Максим = new Human(1987,"Максим","Минск","бренд-менеджер"); @@ -24,6 +26,39 @@ public static void main(String[] args){ System.out.println(car5); System.out.println(car6); + Human Владимир = new Human(Year.now().getValue()-21,"Владимир","Казань",null); + System.out.println(Владимир); + + Flower РозаОбыкновенная = new Flower("Роза обыкновенная",null,"Голландия",35.59,null); + Flower Хризантема = new Flower("Хризантема",null,null,15.0,5); + Flower Пион = new Flower("Пион",null,"Англия",69.9,1); + Flower Гипсофила = new Flower("Гипсофила",null,"Турция",19.5,10); + System.out.println(РозаОбыкновенная); + System.out.println(Хризантема); + System.out.println(Пион); + System.out.println(Гипсофила); + int numRose = 3; + int numChris = 5; + int numPion = 0; + int numGips = 1; + Double flowerPrice = + Math.round( + 1.1* //+10% + (numRose* РозаОбыкновенная.getCost()+ + numChris* Хризантема.getCost()+ + numPion* Пион.getCost()+ + numGips* Гипсофила.getCost()) //getCost + *100)/100d; //Todo: Загуглить другую функцию округления + int lifeSpan = 0; + if (numRose > 0) + lifeSpan = РозаОбыкновенная.getLifeSpan(); + if (numChris > 0 && Хризантема.getLifeSpan() 0 && Пион.getLifeSpan() 0 && Гипсофила.getLifeSpan() Date: Sat, 8 Oct 2022 03:06:04 +0300 Subject: [PATCH 04/11] part 2 --- src/ru/skypro/Car.java | 88 -------------------- src/ru/skypro/Main.java | 7 ++ src/ru/skypro/transport/Car.java | 134 +++++++++++++++++++++++++++++++ 3 files changed, 141 insertions(+), 88 deletions(-) delete mode 100644 src/ru/skypro/Car.java create mode 100644 src/ru/skypro/transport/Car.java diff --git a/src/ru/skypro/Car.java b/src/ru/skypro/Car.java deleted file mode 100644 index 2184706..0000000 --- a/src/ru/skypro/Car.java +++ /dev/null @@ -1,88 +0,0 @@ -package ru.skypro; - -import java.util.Objects; - -public class Car { - private String brand; - - public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry) { - this.brand = Objects.requireNonNullElse(brand,"default"); - this.model = Objects.requireNonNullElse(model,"default"); - this.engineVolume = Objects.requireNonNullElse(engineVolume," 1,5 л"); - this.color = Objects.requireNonNullElse(color,"белый"); - this.productionYear = Objects.requireNonNullElse(productionYear,2000); - this.productionCountry = Objects.requireNonNullElse(productionCountry,"default"); - } - - private String model; - private String engineVolume; - private String color; - - public Car() { - this(null,null,null,null,null,null); - } - - @Override - public String toString() { - return "Car{" + - "brand='" + brand + '\'' + - ", model='" + model + '\'' + - ", engineVolume='" + engineVolume + '\'' + - ", color='" + color + '\'' + - ", productionYear='" + productionYear + '\'' + - ", productionCountry='" + productionCountry + '\'' + - '}'; - } - - private Integer productionYear; - - public String getBrand() { - return brand; - } - - public void setBrand(String brand) { - this.brand = brand; - } - - public String getModel() { - return model; - } - - public void setModel(String model) { - this.model = model; - } - - public String getEngineVolume() { - return engineVolume; - } - - public void setEngineVolume(String engineVolume) { - this.engineVolume = engineVolume; - } - - public String getColor() { - return color; - } - - public void setColor(String color) { - this.color = color; - } - - public Integer getProductionYear() { - return productionYear; - } - - public void setProductionYear(Integer productionYear) { - this.productionYear = productionYear; - } - - public String getProductionCountry() { - return productionCountry; - } - - public void setProductionCountry(String productionCountry) { - this.productionCountry = productionCountry; - } - - private String productionCountry; -} diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index c961360..4b08ff6 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -1,5 +1,7 @@ package ru.skypro; +import ru.skypro.transport.Car; + import java.time.Year; public class Main { @@ -60,5 +62,10 @@ public static void main(String[] args){ lifeSpan = Гипсофила.getLifeSpan(); System.out.println("будет стоить "+flowerPrice+" рублей и простоит "+lifeSpan+" суток. "); + + Car car7 = new Car("Lada","Grande","1,7л", "желтый", 2015,"Россия" + , null, null, "A000XX000", null, null); + System.out.println(car7); + } } diff --git a/src/ru/skypro/transport/Car.java b/src/ru/skypro/transport/Car.java new file mode 100644 index 0000000..cca00e3 --- /dev/null +++ b/src/ru/skypro/transport/Car.java @@ -0,0 +1,134 @@ +package ru.skypro.transport; + +import java.util.Objects; +import java.util.regex.Pattern; + +public class Car { + private String brand; + private String model; + private String engineVolume; + private String color; + private Integer productionYear; + private String productionCountry; + private String transmission; + private String bodyType; + private String registrationNumber; + private Integer numberOfSeats; + private Boolean isSummerTiers; + + + private Boolean checkRegistrationNumber(String registrationNumber){ + if (registrationNumber == null || registrationNumber.length() == 0) + return false; + return Pattern.matches("\\D\\d\\d\\d\\D\\D\\d\\d\\d",registrationNumber); + } + + + public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry, + String transmission, String bodyType, String registrationNumber, Integer numberOfSeats, Boolean isSummerTiers) { + this.brand = brand == null || brand.equals("") ?"default":brand; + this.model = model == null || model.equals("") ?"default":model; + this.engineVolume = engineVolume == null || engineVolume.equals("") ?" 1,5 л":engineVolume; + this.color = color == null || color.equals("") ?"белый":color; + this.productionYear = productionYear == null || productionYear<=0 ?2000:productionYear; + this.productionCountry = productionCountry == null || productionCountry.equals("") ?"default":productionCountry; + this.transmission = transmission == null || transmission.equals("") ?"default":transmission; + this.bodyType = bodyType == null || bodyType.equals("") ?"default":bodyType; + this.registrationNumber = !checkRegistrationNumber(registrationNumber) ?"X000XX000":registrationNumber; + this.numberOfSeats = numberOfSeats == null || numberOfSeats<=0 ?4:numberOfSeats; + this.isSummerTiers = isSummerTiers == null || isSummerTiers; + } + + public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry) { + this(brand,model,engineVolume,color,productionYear,productionCountry,null,null,null,null,null); + } + + public Car() { + this(null,null,null,null,null,null); + } + + public void swapTiers(){ + this.isSummerTiers = !this.isSummerTiers; + } + + @Override + public String toString() { + return "Car{" + + "brand='" + brand + '\'' + + ", model='" + model + '\'' + + ", engineVolume='" + engineVolume + '\'' + + ", color='" + color + '\'' + + ", productionYear=" + productionYear + + ", productionCountry='" + productionCountry + '\'' + + ", transmission='" + transmission + '\'' + + ", bodyType='" + bodyType + '\'' + + ", registrationNumber='" + registrationNumber + '\'' + + ", numberOfSeats=" + numberOfSeats + + ", isSummerTiers=" + isSummerTiers + + '}'; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + + public String getEngineVolume() { + return engineVolume; + } + + public String getColor() { + return color; + } + + public Integer getProductionYear() { + return productionYear; + } + + public String getProductionCountry() { + return productionCountry; + } + + public String getTransmission() { + return transmission; + } + + public String getBodyType() { + return bodyType; + } + + public String getRegistrationNumber() { + return registrationNumber; + } + + public Integer getNumberOfSeats() { + return numberOfSeats; + } + + public Boolean getSummerTiers() { + return isSummerTiers; + } + + public void setEngineVolume(String engineVolume) { + this.engineVolume = engineVolume; + } + + public void setColor(String color) { + this.color = color; + } + + public void setTransmission(String transmission) { + this.transmission = transmission; + } + + public void setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + } + + public void setSummerTiers(Boolean summerTiers) { + isSummerTiers = summerTiers; + } +} From 1e2c276d1ee964294670e7aad34b2e990a7c0b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sat, 8 Oct 2022 03:31:20 +0300 Subject: [PATCH 05/11] part 3 --- src/ru/skypro/Flower.java | 8 ++-- src/ru/skypro/Human.java | 15 +++---- src/ru/skypro/Main.java | 56 +++++++++++++------------ src/ru/skypro/transport/Car.java | 70 ++++++++++++++++++++++++-------- 4 files changed, 95 insertions(+), 54 deletions(-) diff --git a/src/ru/skypro/Flower.java b/src/ru/skypro/Flower.java index c340b4e..d9abaa6 100644 --- a/src/ru/skypro/Flower.java +++ b/src/ru/skypro/Flower.java @@ -12,10 +12,10 @@ public class Flower { public Flower(String name, String flowerColor, String country, Double cost, Integer lifeSpan) { this.name = name; - this.flowerColor = flowerColor == null || flowerColor.equals("") ?"Белый":flowerColor; - this.country = country == null || country.equals("") ?"Россия":country; - this.cost = cost == null || cost < 0 ? 1 : Math.round(cost*100)/100d ; - this.lifeSpan = lifeSpan == null || lifeSpan <=0 ? 3 : lifeSpan; + this.flowerColor = flowerColor == null || flowerColor.equals("") ? "Белый" : flowerColor; + this.country = country == null || country.equals("") ? "Россия" : country; + this.cost = cost == null || cost < 0 ? 1 : Math.round(cost * 100) / 100d; + this.lifeSpan = lifeSpan == null || lifeSpan <= 0 ? 3 : lifeSpan; } @Override diff --git a/src/ru/skypro/Human.java b/src/ru/skypro/Human.java index 4f0b818..bf0dc82 100644 --- a/src/ru/skypro/Human.java +++ b/src/ru/skypro/Human.java @@ -5,7 +5,7 @@ public class Human { @Override public String toString() { - return "Привет! Меня зовут "+name+". Я из города "+town+". Я родился в "+yearOfBirth+" году. Будем знакомы! Я работаю на должности "+position+" . Будем знакомы!"; + return "Привет! Меня зовут " + name + ". Я из города " + town + ". Я родился в " + yearOfBirth + " году. Будем знакомы! Я работаю на должности " + position + " . Будем знакомы!"; } private Integer yearOfBirth; @@ -15,9 +15,9 @@ public String toString() { public Human(Integer yearOfBirth, String name, String town, String position) { this.yearOfBirth = Objects.requireNonNullElse(yearOfBirth, 0); - this.name = Objects.requireNonNullElse(name,"Информация не указана"); - this.town = Objects.requireNonNullElse(town,"Информация не указана"); - this.position = Objects.requireNonNullElse(position,"Информация не указана"); + this.name = Objects.requireNonNullElse(name, "Информация не указана"); + this.town = Objects.requireNonNullElse(town, "Информация не указана"); + this.position = Objects.requireNonNullElse(position, "Информация не указана"); } public Integer getYearOfBirth() { @@ -25,9 +25,10 @@ public Integer getYearOfBirth() { } public void setYearOfBirth(Integer yearOfBirth) { - if (yearOfBirth != null && yearOfBirth<0) { + if (yearOfBirth != null && yearOfBirth < 0) { yearOfBirth = 0; - }this.yearOfBirth = yearOfBirth; + } + this.yearOfBirth = yearOfBirth; } public String getName() { @@ -43,7 +44,7 @@ public String getTown() { } public void setTown(String town) { - if (town != null && town.length()>0) { + if (town != null && town.length() > 0) { town = "Информация не указана"; } this.town = town; diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 4b08ff6..14f8ce3 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -5,21 +5,21 @@ import java.time.Year; public class Main { - public static void main(String[] args){ - Human Максим = new Human(1987,"Максим","Минск","бренд-менеджер"); - Human Аня = new Human(1993,"Аня","Москва","методист образовательных программ"); - Human Катя = new Human(1994,"Катя","Калининград","продакт-менеджер"); - Human Артем = new Human(1995,"Артем",null,"директор по развитию бизнеса"); + public static void main(String[] args) { + Human Максим = new Human(1987, "Максим", "Минск", "бренд-менеджер"); + Human Аня = new Human(1993, "Аня", "Москва", "методист образовательных программ"); + Human Катя = new Human(1994, "Катя", "Калининград", "продакт-менеджер"); + Human Артем = new Human(1995, "Артем", null, "директор по развитию бизнеса"); System.out.println(Максим); System.out.println(Аня); System.out.println(Катя); System.out.println(Артем); - Car car1 = new Car("Lada","Grande","1,7л", "желтый", 2015,"Россия"); - Car car2 = new Car("Audi","A8 50 L TDI quattro","3.0л" , "черный",2020, "Германия"); - Car car3 = new Car("BMW","Z8", "3.0л", "черный",2021,"Германия"); - Car car4 = new Car("Kia","Sportage 4 поколение","2,4л" , "красный ", 2018, "Южная Корея"); - Car car5 = new Car("Hyundai","Avante","1,6л", "оранжевый", 2016,"Южная Корея"); + Car car1 = new Car("Lada", "Grande", "1,7л", "желтый", 2015, "Россия"); + Car car2 = new Car("Audi", "A8 50 L TDI quattro", "3.0л", "черный", 2020, "Германия"); + Car car3 = new Car("BMW", "Z8", "3.0л", "черный", 2021, "Германия"); + Car car4 = new Car("Kia", "Sportage 4 поколение", "2,4л", "красный ", 2018, "Южная Корея"); + Car car5 = new Car("Hyundai", "Avante", "1,6л", "оранжевый", 2016, "Южная Корея"); Car car6 = new Car(); System.out.println(car1); System.out.println(car2); @@ -28,13 +28,13 @@ public static void main(String[] args){ System.out.println(car5); System.out.println(car6); - Human Владимир = new Human(Year.now().getValue()-21,"Владимир","Казань",null); + Human Владимир = new Human(Year.now().getValue() - 21, "Владимир", "Казань", null); System.out.println(Владимир); - Flower РозаОбыкновенная = new Flower("Роза обыкновенная",null,"Голландия",35.59,null); - Flower Хризантема = new Flower("Хризантема",null,null,15.0,5); - Flower Пион = new Flower("Пион",null,"Англия",69.9,1); - Flower Гипсофила = new Flower("Гипсофила",null,"Турция",19.5,10); + Flower РозаОбыкновенная = new Flower("Роза обыкновенная", null, "Голландия", 35.59, null); + Flower Хризантема = new Flower("Хризантема", null, null, 15.0, 5); + Flower Пион = new Flower("Пион", null, "Англия", 69.9, 1); + Flower Гипсофила = new Flower("Гипсофила", null, "Турция", 19.5, 10); System.out.println(РозаОбыкновенная); System.out.println(Хризантема); System.out.println(Пион); @@ -45,27 +45,29 @@ public static void main(String[] args){ int numGips = 1; Double flowerPrice = Math.round( - 1.1* //+10% - (numRose* РозаОбыкновенная.getCost()+ - numChris* Хризантема.getCost()+ - numPion* Пион.getCost()+ - numGips* Гипсофила.getCost()) //getCost - *100)/100d; //Todo: Загуглить другую функцию округления + 1.1 * //+10% + (numRose * РозаОбыкновенная.getCost() + + numChris * Хризантема.getCost() + + numPion * Пион.getCost() + + numGips * Гипсофила.getCost()) //getCost + * 100) / 100d; //Todo: Загуглить другую функцию округления int lifeSpan = 0; if (numRose > 0) lifeSpan = РозаОбыкновенная.getLifeSpan(); - if (numChris > 0 && Хризантема.getLifeSpan() 0 && Хризантема.getLifeSpan() < lifeSpan) lifeSpan = Хризантема.getLifeSpan(); - if (numPion > 0 && Пион.getLifeSpan() 0 && Пион.getLifeSpan() < lifeSpan) lifeSpan = Пион.getLifeSpan(); - if (numGips > 0 && Гипсофила.getLifeSpan() 0 && Гипсофила.getLifeSpan() < lifeSpan) lifeSpan = Гипсофила.getLifeSpan(); - System.out.println("будет стоить "+flowerPrice+" рублей и простоит "+lifeSpan+" суток. "); + System.out.println("будет стоить " + flowerPrice + " рублей и простоит " + lifeSpan + " суток. "); - Car car7 = new Car("Lada","Grande","1,7л", "желтый", 2015,"Россия" - , null, null, "A000XX000", null, null); + Car car7 = new Car("Lada", "Grande", "1,7л", "желтый", 2015, "Россия" + , null, null, "A000XX000", null, null); System.out.println(car7); + Car.Key key = new Car.Key(true, true); + Car.Insurance insurance = new Car.Insurance(2012, 2000.2, "asdf22dsa2"); } } diff --git a/src/ru/skypro/transport/Car.java b/src/ru/skypro/transport/Car.java index cca00e3..7f34cf6 100644 --- a/src/ru/skypro/transport/Car.java +++ b/src/ru/skypro/transport/Car.java @@ -1,5 +1,6 @@ package ru.skypro.transport; +import java.time.Year; import java.util.Objects; import java.util.regex.Pattern; @@ -16,38 +17,75 @@ public class Car { private Integer numberOfSeats; private Boolean isSummerTiers; + public static class Key { + private Boolean remoteStart; + private Boolean remoteAccess; - private Boolean checkRegistrationNumber(String registrationNumber){ + public Key(Boolean remoteStart, Boolean remoteAccess) { + this.remoteStart = remoteStart != null && remoteStart; + this.remoteAccess = remoteAccess != null && remoteAccess; + } + } + + public static class Insurance { + private Integer period; + private Double cost; + private String number; + + public Boolean isExpired() { + return this.period < Year.now().getValue(); + } + + private Boolean checkNumber(String number) { + if (number == null || number.length() == 0) { + return false; + } + return Pattern.matches("^.{9}$", number); + } + + public Insurance(Integer period, Double cost, String number) { + this.period = period == null ? 0 : period; + this.cost = cost == null ? 1.0 : cost; + this.number = number; + if (this.isExpired()) + System.out.println("нужно срочно ехать оформлять новую страховку."); + if (!checkNumber(number)) + System.out.println("Номер страховки некорректный!"); + } + + } + + private Boolean checkRegistrationNumber(String registrationNumber) { if (registrationNumber == null || registrationNumber.length() == 0) return false; - return Pattern.matches("\\D\\d\\d\\d\\D\\D\\d\\d\\d",registrationNumber); + return Pattern.matches("\\D\\d\\d\\d\\D\\D\\d\\d\\d", registrationNumber); } public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry, - String transmission, String bodyType, String registrationNumber, Integer numberOfSeats, Boolean isSummerTiers) { - this.brand = brand == null || brand.equals("") ?"default":brand; - this.model = model == null || model.equals("") ?"default":model; - this.engineVolume = engineVolume == null || engineVolume.equals("") ?" 1,5 л":engineVolume; - this.color = color == null || color.equals("") ?"белый":color; - this.productionYear = productionYear == null || productionYear<=0 ?2000:productionYear; - this.productionCountry = productionCountry == null || productionCountry.equals("") ?"default":productionCountry; - this.transmission = transmission == null || transmission.equals("") ?"default":transmission; - this.bodyType = bodyType == null || bodyType.equals("") ?"default":bodyType; - this.registrationNumber = !checkRegistrationNumber(registrationNumber) ?"X000XX000":registrationNumber; - this.numberOfSeats = numberOfSeats == null || numberOfSeats<=0 ?4:numberOfSeats; + String transmission, String bodyType, String registrationNumber, Integer numberOfSeats, Boolean isSummerTiers) { + this.brand = brand == null || brand.equals("") ? "default" : brand; + this.model = model == null || model.equals("") ? "default" : model; + this.engineVolume = engineVolume == null || engineVolume.equals("") ? " 1,5 л" : engineVolume; + this.color = color == null || color.equals("") ? "белый" : color; + this.productionYear = productionYear == null || productionYear <= 0 ? 2000 : productionYear; + this.productionCountry = productionCountry == null || productionCountry.equals("") ? "default" : productionCountry; + this.transmission = transmission == null || transmission.equals("") ? "default" : transmission; + this.bodyType = bodyType == null || bodyType.equals("") ? "default" : bodyType; + this.registrationNumber = !checkRegistrationNumber(registrationNumber) ? "X000XX000" : registrationNumber; + this.numberOfSeats = numberOfSeats == null || numberOfSeats <= 0 ? 4 : numberOfSeats; this.isSummerTiers = isSummerTiers == null || isSummerTiers; } public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry) { - this(brand,model,engineVolume,color,productionYear,productionCountry,null,null,null,null,null); + this(brand, model, engineVolume, color, productionYear, productionCountry, null, null, null, null, null); } public Car() { - this(null,null,null,null,null,null); + this(null, null, null, null, null, null); } - public void swapTiers(){ + public void swapTiers() { this.isSummerTiers = !this.isSummerTiers; } From 26f1c5ad1c2bcc863838319f7b3b9572e0d19f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sat, 8 Oct 2022 04:06:40 +0300 Subject: [PATCH 06/11] part 1 --- src/ru/skypro/Main.java | 67 ++++++++++++++++++++++ src/ru/skypro/transport/Bus.java | 48 ++++++++++++++++ src/ru/skypro/transport/Car.java | 46 +++------------ src/ru/skypro/transport/Train.java | 79 ++++++++++++++++++++++++++ src/ru/skypro/transport/Transport.java | 71 +++++++++++++++++++++++ 5 files changed, 272 insertions(+), 39 deletions(-) create mode 100644 src/ru/skypro/transport/Bus.java create mode 100644 src/ru/skypro/transport/Train.java create mode 100644 src/ru/skypro/transport/Transport.java diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 14f8ce3..d87d6e3 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -1,6 +1,8 @@ package ru.skypro; +import ru.skypro.transport.Bus; import ru.skypro.transport.Car; +import ru.skypro.transport.Train; import java.time.Year; @@ -69,5 +71,70 @@ public static void main(String[] args) { Car.Key key = new Car.Key(true, true); Car.Insurance insurance = new Car.Insurance(2012, 2000.2, "asdf22dsa2"); + + Train train1 = new Train( + "Ласточка", + " B-901", + 2011, + "России", + null, + 301, + 3500d, + null, + "Белорусского вокзала", + "Минск-Пассажирский", + 11 + ); + Train train2 = new Train( + "Ленинград", + "D-125", + 2019, + "России", + null, + 270, + 1700d, + null, + "Ленинградского вокзала", + "Ленинград-Пассажирский", + 8 + ); + System.out.println(train1); + System.out.println(train2); + Bus bus1 = new Bus( + null, + null, + null, + null, + null, + null, + 1, + 2, + 3 + ); + Bus bus2 = new Bus( + null, + null, + null, + null, + null, + null, + 4, + 5, + 6 + ); + Bus bus3 = new Bus( + null, + null, + null, + null, + null, + null, + 7, + 8, + 9 + ); + System.out.println(bus1); + System.out.println(bus2); + System.out.println(bus3); } } diff --git a/src/ru/skypro/transport/Bus.java b/src/ru/skypro/transport/Bus.java new file mode 100644 index 0000000..28cc485 --- /dev/null +++ b/src/ru/skypro/transport/Bus.java @@ -0,0 +1,48 @@ +package ru.skypro.transport; + +public class Bus extends Transport { + private Integer var1; + private Integer var2; + private Integer var3; + + public Bus(String brand, String model, Integer productionYear, String productionCountry, String color, Integer maxSpeed, Integer var1, Integer var2, Integer var3) { + super(brand, model, productionYear, productionCountry, color, maxSpeed); + this.var1 = var1; + this.var2 = var2; + this.var3 = var3; + } + + @Override + public String toString() { + return "Bus{" + + super.toString() + + "var1=" + var1 + + ", var2=" + var2 + + ", var3=" + var3 + + '}'; + } + + public Integer getVar1() { + return var1; + } + + public void setVar1(Integer var1) { + this.var1 = var1; + } + + public Integer getVar2() { + return var2; + } + + public void setVar2(Integer var2) { + this.var2 = var2; + } + + public Integer getVar3() { + return var3; + } + + public void setVar3(Integer var3) { + this.var3 = var3; + } +} diff --git a/src/ru/skypro/transport/Car.java b/src/ru/skypro/transport/Car.java index 7f34cf6..11e068e 100644 --- a/src/ru/skypro/transport/Car.java +++ b/src/ru/skypro/transport/Car.java @@ -4,13 +4,8 @@ import java.util.Objects; import java.util.regex.Pattern; -public class Car { - private String brand; - private String model; +public class Car extends Transport { private String engineVolume; - private String color; - private Integer productionYear; - private String productionCountry; private String transmission; private String bodyType; private String registrationNumber; @@ -64,12 +59,8 @@ private Boolean checkRegistrationNumber(String registrationNumber) { public Car(String brand, String model, String engineVolume, String color, Integer productionYear, String productionCountry, String transmission, String bodyType, String registrationNumber, Integer numberOfSeats, Boolean isSummerTiers) { - this.brand = brand == null || brand.equals("") ? "default" : brand; - this.model = model == null || model.equals("") ? "default" : model; + super(brand, model, productionYear, productionCountry, color, 160); this.engineVolume = engineVolume == null || engineVolume.equals("") ? " 1,5 л" : engineVolume; - this.color = color == null || color.equals("") ? "белый" : color; - this.productionYear = productionYear == null || productionYear <= 0 ? 2000 : productionYear; - this.productionCountry = productionCountry == null || productionCountry.equals("") ? "default" : productionCountry; this.transmission = transmission == null || transmission.equals("") ? "default" : transmission; this.bodyType = bodyType == null || bodyType.equals("") ? "default" : bodyType; this.registrationNumber = !checkRegistrationNumber(registrationNumber) ? "X000XX000" : registrationNumber; @@ -92,12 +83,12 @@ public void swapTiers() { @Override public String toString() { return "Car{" + - "brand='" + brand + '\'' + - ", model='" + model + '\'' + + "brand='" + super.getBrand() + '\'' + + ", model='" + super.getModel() + '\'' + ", engineVolume='" + engineVolume + '\'' + - ", color='" + color + '\'' + - ", productionYear=" + productionYear + - ", productionCountry='" + productionCountry + '\'' + + ", color='" + super.getColor() + '\'' + + ", productionYear=" + super.getProductionYear() + + ", productionCountry='" + super.getProductionCountry() + '\'' + ", transmission='" + transmission + '\'' + ", bodyType='" + bodyType + '\'' + ", registrationNumber='" + registrationNumber + '\'' + @@ -106,30 +97,11 @@ public String toString() { '}'; } - public String getBrand() { - return brand; - } - - public String getModel() { - return model; - } public String getEngineVolume() { return engineVolume; } - public String getColor() { - return color; - } - - public Integer getProductionYear() { - return productionYear; - } - - public String getProductionCountry() { - return productionCountry; - } - public String getTransmission() { return transmission; } @@ -154,10 +126,6 @@ public void setEngineVolume(String engineVolume) { this.engineVolume = engineVolume; } - public void setColor(String color) { - this.color = color; - } - public void setTransmission(String transmission) { this.transmission = transmission; } diff --git a/src/ru/skypro/transport/Train.java b/src/ru/skypro/transport/Train.java new file mode 100644 index 0000000..dc395bc --- /dev/null +++ b/src/ru/skypro/transport/Train.java @@ -0,0 +1,79 @@ +package ru.skypro.transport; + +public class Train extends Transport { + + private Double cost; + private Integer timeInMinutes; + private String startStantion; + private String endStantion; + private Integer numVagons; + + + public Train(String brand, String model, Integer productionYear, String productionCountry, String color, Integer maxSpeed, + Double cost, + Integer timeInMinutes, + String startStantion, + String endStantion, + Integer numVagons + ) { + super(brand, model, productionYear, productionCountry, color, maxSpeed); + this.cost = cost == null ? 120.0 : cost; + this.timeInMinutes = timeInMinutes == null ? 60 : timeInMinutes; + this.startStantion = startStantion == null ? "start" : startStantion; + this.endStantion = endStantion == null ? "end" : endStantion; + this.numVagons = numVagons == null ? 6 : numVagons; + + } + + @Override + public String toString() { + return "Train{" + + super.toString() + + "cost=" + cost + + ", timeInMinutes=" + timeInMinutes + + ", startStantion='" + startStantion + '\'' + + ", endStantion='" + endStantion + '\'' + + ", numVagons=" + numVagons + + '}'; + } + + public Double getCost() { + return cost; + } + + public void setCost(Double cost) { + this.cost = cost; + } + + public Integer getTimeInMinutes() { + return timeInMinutes; + } + + public void setTimeInMinutes(Integer timeInMinutes) { + this.timeInMinutes = timeInMinutes; + } + + public String getStartStantion() { + return startStantion; + } + + public void setStartStantion(String startStantion) { + this.startStantion = startStantion; + } + + public String getEndStantion() { + return endStantion; + } + + public void setEndStantion(String endStantion) { + this.endStantion = endStantion; + } + + public Integer getNumVagons() { + return numVagons; + } + + public void setNumVagons(Integer numVagons) { + this.numVagons = numVagons; + } +} diff --git a/src/ru/skypro/transport/Transport.java b/src/ru/skypro/transport/Transport.java new file mode 100644 index 0000000..a49d32e --- /dev/null +++ b/src/ru/skypro/transport/Transport.java @@ -0,0 +1,71 @@ +package ru.skypro.transport; + +public class Transport { + private String brand; + private String model; + private Integer productionYear; + private String productionCountry; + private String color; + private Integer maxSpeed; + + public Transport(String brand, String model, Integer productionYear, String productionCountry, String color, Integer maxSpeed) { + this.brand = brand == null || brand.equals("") ? "default" : brand; + this.model = model == null || model.equals("") ? "default" : model; + this.color = color == null || color.equals("") ? "белый" : color; + this.productionYear = productionYear == null || productionYear <= 0 ? 2000 : productionYear; + this.productionCountry = productionCountry == null || productionCountry.equals("") ? "default" : productionCountry; + this.maxSpeed = maxSpeed == null || maxSpeed < 0 ? 0 : maxSpeed; + } + + @Override + public String toString() { + return "Transport{" + + "brand='" + brand + '\'' + + ", model='" + model + '\'' + + ", productionYear=" + productionYear + + ", productionCountry='" + productionCountry + '\'' + + ", color='" + color + '\'' + + ", maxSpeed=" + maxSpeed + + '}'; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + + public Integer getProductionYear() { + return productionYear; + } + + public String getProductionCountry() { + return productionCountry; + } + + public String getColor() { + return color; + } + + public Integer getMaxSpeed() { + return maxSpeed; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public void setModel(String model) { + this.model = model; + } + + public void setColor(String color) { + this.color = color; + } + + public void setMaxSpeed(Integer maxSpeed) { + this.maxSpeed = maxSpeed; + } +} From 337600149cfa798916e42b7563481cb297018367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sat, 8 Oct 2022 04:15:08 +0300 Subject: [PATCH 07/11] part 2 --- src/ru/skypro/transport/Bus.java | 8 +++++++- src/ru/skypro/transport/Car.java | 7 ++++++- src/ru/skypro/transport/Train.java | 7 ++++++- src/ru/skypro/transport/Transport.java | 4 +++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/ru/skypro/transport/Bus.java b/src/ru/skypro/transport/Bus.java index 28cc485..e5135e6 100644 --- a/src/ru/skypro/transport/Bus.java +++ b/src/ru/skypro/transport/Bus.java @@ -12,6 +12,11 @@ public Bus(String brand, String model, Integer productionYear, String production this.var3 = var3; } + @Override + String refill() { + return "Объекты класса bus можно заправлять бензином или дизелем на заправк"; + } + @Override public String toString() { return "Bus{" + @@ -19,7 +24,8 @@ public String toString() { "var1=" + var1 + ", var2=" + var2 + ", var3=" + var3 + - '}'; + '}'+ + refill(); } public Integer getVar1() { diff --git a/src/ru/skypro/transport/Car.java b/src/ru/skypro/transport/Car.java index 11e068e..5b91daf 100644 --- a/src/ru/skypro/transport/Car.java +++ b/src/ru/skypro/transport/Car.java @@ -80,6 +80,11 @@ public void swapTiers() { this.isSummerTiers = !this.isSummerTiers; } + @Override + String refill() { + return "Объекты класса car можно заправлять бензином, дизелем на заправке или заряжать на специальных электроду-парковках, если это электрокар."; + } + @Override public String toString() { return "Car{" + @@ -94,7 +99,7 @@ public String toString() { ", registrationNumber='" + registrationNumber + '\'' + ", numberOfSeats=" + numberOfSeats + ", isSummerTiers=" + isSummerTiers + - '}'; + '}'+refill(); } diff --git a/src/ru/skypro/transport/Train.java b/src/ru/skypro/transport/Train.java index dc395bc..2249369 100644 --- a/src/ru/skypro/transport/Train.java +++ b/src/ru/skypro/transport/Train.java @@ -25,6 +25,11 @@ public Train(String brand, String model, Integer productionYear, String producti } + @Override + String refill() { + return "Объекты класса train нужно заправлять дизелем."; + } + @Override public String toString() { return "Train{" + @@ -34,7 +39,7 @@ public String toString() { ", startStantion='" + startStantion + '\'' + ", endStantion='" + endStantion + '\'' + ", numVagons=" + numVagons + - '}'; + '}'+refill(); } public Double getCost() { diff --git a/src/ru/skypro/transport/Transport.java b/src/ru/skypro/transport/Transport.java index a49d32e..920d470 100644 --- a/src/ru/skypro/transport/Transport.java +++ b/src/ru/skypro/transport/Transport.java @@ -1,6 +1,6 @@ package ru.skypro.transport; -public class Transport { +public abstract class Transport { private String brand; private String model; private Integer productionYear; @@ -8,6 +8,8 @@ public class Transport { private String color; private Integer maxSpeed; + abstract String refill(); + public Transport(String brand, String model, Integer productionYear, String productionCountry, String color, Integer maxSpeed) { this.brand = brand == null || brand.equals("") ? "default" : brand; this.model = model == null || model.equals("") ? "default" : model; From b0506a889fe02a4a7c22d3ae0c91f5bad049679a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sat, 8 Oct 2022 04:49:26 +0300 Subject: [PATCH 08/11] part 3 not final todo: repackage add restrictions add test --- src/ru/skypro/animals/Albotros.java | 19 +++++++++ src/ru/skypro/animals/Chaika.java | 19 +++++++++ src/ru/skypro/animals/Dodo.java | 19 +++++++++ src/ru/skypro/animals/Fog.java | 14 +++++++ src/ru/skypro/animals/Gazel.java | 15 +++++++ src/ru/skypro/animals/Hiena.java | 14 +++++++ src/ru/skypro/animals/Loshad.java | 14 +++++++ src/ru/skypro/animals/Medved.java | 14 +++++++ src/ru/skypro/animals/Pavlin.java | 19 +++++++++ src/ru/skypro/animals/Pingvin.java | 19 +++++++++ src/ru/skypro/animals/Sokol.java | 19 +++++++++ src/ru/skypro/animals/Tigr.java | 14 +++++++ src/ru/skypro/animals/Uzh.java | 14 +++++++ src/ru/skypro/animals/Zhiraf.java | 14 +++++++ src/ru/skypro/animals/hierarchy/Animal.java | 31 ++++++++++++++ src/ru/skypro/animals/hierarchy/Birds.java | 29 ++++++++++++++ src/ru/skypro/animals/hierarchy/Flying.java | 19 +++++++++ .../skypro/animals/hierarchy/Hischniki.java | 19 +++++++++ .../animals/hierarchy/Mlekopitaushie.java | 40 +++++++++++++++++++ src/ru/skypro/animals/hierarchy/NoFlying.java | 19 +++++++++ .../skypro/animals/hierarchy/Travoyadnie.java | 19 +++++++++ .../skypro/animals/hierarchy/Zemnovodnie.java | 28 +++++++++++++ 22 files changed, 431 insertions(+) create mode 100644 src/ru/skypro/animals/Albotros.java create mode 100644 src/ru/skypro/animals/Chaika.java create mode 100644 src/ru/skypro/animals/Dodo.java create mode 100644 src/ru/skypro/animals/Fog.java create mode 100644 src/ru/skypro/animals/Gazel.java create mode 100644 src/ru/skypro/animals/Hiena.java create mode 100644 src/ru/skypro/animals/Loshad.java create mode 100644 src/ru/skypro/animals/Medved.java create mode 100644 src/ru/skypro/animals/Pavlin.java create mode 100644 src/ru/skypro/animals/Pingvin.java create mode 100644 src/ru/skypro/animals/Sokol.java create mode 100644 src/ru/skypro/animals/Tigr.java create mode 100644 src/ru/skypro/animals/Uzh.java create mode 100644 src/ru/skypro/animals/Zhiraf.java create mode 100644 src/ru/skypro/animals/hierarchy/Animal.java create mode 100644 src/ru/skypro/animals/hierarchy/Birds.java create mode 100644 src/ru/skypro/animals/hierarchy/Flying.java create mode 100644 src/ru/skypro/animals/hierarchy/Hischniki.java create mode 100644 src/ru/skypro/animals/hierarchy/Mlekopitaushie.java create mode 100644 src/ru/skypro/animals/hierarchy/NoFlying.java create mode 100644 src/ru/skypro/animals/hierarchy/Travoyadnie.java create mode 100644 src/ru/skypro/animals/hierarchy/Zemnovodnie.java diff --git a/src/ru/skypro/animals/Albotros.java b/src/ru/skypro/animals/Albotros.java new file mode 100644 index 0000000..e343318 --- /dev/null +++ b/src/ru/skypro/animals/Albotros.java @@ -0,0 +1,19 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Flying; + +public class Albotros extends Flying { + public Albotros(String klichka, String area, String moveType) { + super(klichka, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void fly() { + + } +} diff --git a/src/ru/skypro/animals/Chaika.java b/src/ru/skypro/animals/Chaika.java new file mode 100644 index 0000000..16ecdbe --- /dev/null +++ b/src/ru/skypro/animals/Chaika.java @@ -0,0 +1,19 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Flying; + +public class Chaika extends Flying { + public Chaika(String klichka, String area, String moveType) { + super(klichka, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void fly() { + + } +} diff --git a/src/ru/skypro/animals/Dodo.java b/src/ru/skypro/animals/Dodo.java new file mode 100644 index 0000000..99b77a7 --- /dev/null +++ b/src/ru/skypro/animals/Dodo.java @@ -0,0 +1,19 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.NoFlying; + +public class Dodo extends NoFlying { + public Dodo(String klichka, String area, String moveType) { + super(klichka, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void walk() { + + } +} diff --git a/src/ru/skypro/animals/Fog.java b/src/ru/skypro/animals/Fog.java new file mode 100644 index 0000000..531e7af --- /dev/null +++ b/src/ru/skypro/animals/Fog.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Zemnovodnie; + +public class Fog extends Zemnovodnie { + public Fog(String klichka, String area) { + super(klichka, area); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/Gazel.java b/src/ru/skypro/animals/Gazel.java new file mode 100644 index 0000000..a90ce30 --- /dev/null +++ b/src/ru/skypro/animals/Gazel.java @@ -0,0 +1,15 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Travoyadnie; + +public class Gazel extends Travoyadnie { + + public Gazel(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed, typeOfPisha); + } + + @Override + protected void pastis() { + + } +} diff --git a/src/ru/skypro/animals/Hiena.java b/src/ru/skypro/animals/Hiena.java new file mode 100644 index 0000000..bdb7737 --- /dev/null +++ b/src/ru/skypro/animals/Hiena.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Hischniki; + +public class Hiena extends Hischniki { + public Hiena(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed, typeOfPisha); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/Loshad.java b/src/ru/skypro/animals/Loshad.java new file mode 100644 index 0000000..c408561 --- /dev/null +++ b/src/ru/skypro/animals/Loshad.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Travoyadnie; + +public class Loshad extends Travoyadnie { + public Loshad(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed, typeOfPisha); + } + + @Override + protected void pastis() { + + } +} diff --git a/src/ru/skypro/animals/Medved.java b/src/ru/skypro/animals/Medved.java new file mode 100644 index 0000000..f1b7b64 --- /dev/null +++ b/src/ru/skypro/animals/Medved.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Hischniki; + +public class Medved extends Hischniki { + public Medved(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed, typeOfPisha); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/Pavlin.java b/src/ru/skypro/animals/Pavlin.java new file mode 100644 index 0000000..a54d6fe --- /dev/null +++ b/src/ru/skypro/animals/Pavlin.java @@ -0,0 +1,19 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.NoFlying; + +public class Pavlin extends NoFlying { + public Pavlin(String klichka, String area, String moveType) { + super(klichka, area, moveType); + } + + @Override + protected void walk() { + + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/Pingvin.java b/src/ru/skypro/animals/Pingvin.java new file mode 100644 index 0000000..5f5ef94 --- /dev/null +++ b/src/ru/skypro/animals/Pingvin.java @@ -0,0 +1,19 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.NoFlying; + +public class Pingvin extends NoFlying { + public Pingvin(String klichka, String area, String moveType) { + super(klichka, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void walk() { + + } +} diff --git a/src/ru/skypro/animals/Sokol.java b/src/ru/skypro/animals/Sokol.java new file mode 100644 index 0000000..8591617 --- /dev/null +++ b/src/ru/skypro/animals/Sokol.java @@ -0,0 +1,19 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Flying; + +public class Sokol extends Flying { + public Sokol(String klichka, String area, String moveType) { + super(klichka, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void fly() { + + } +} diff --git a/src/ru/skypro/animals/Tigr.java b/src/ru/skypro/animals/Tigr.java new file mode 100644 index 0000000..be2d7ac --- /dev/null +++ b/src/ru/skypro/animals/Tigr.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Hischniki; + +public class Tigr extends Hischniki { + public Tigr(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed, typeOfPisha); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/Uzh.java b/src/ru/skypro/animals/Uzh.java new file mode 100644 index 0000000..2862b5b --- /dev/null +++ b/src/ru/skypro/animals/Uzh.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Zemnovodnie; + +public class Uzh extends Zemnovodnie { + public Uzh(String klichka, String area) { + super(klichka, area); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/Zhiraf.java b/src/ru/skypro/animals/Zhiraf.java new file mode 100644 index 0000000..d5cdf11 --- /dev/null +++ b/src/ru/skypro/animals/Zhiraf.java @@ -0,0 +1,14 @@ +package ru.skypro.animals; + +import ru.skypro.animals.hierarchy.Travoyadnie; + +public class Zhiraf extends Travoyadnie { + public Zhiraf(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed, typeOfPisha); + } + + @Override + protected void pastis() { + + } +} diff --git a/src/ru/skypro/animals/hierarchy/Animal.java b/src/ru/skypro/animals/hierarchy/Animal.java new file mode 100644 index 0000000..bd2e6cb --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Animal.java @@ -0,0 +1,31 @@ +package ru.skypro.animals.hierarchy; + +abstract class Animal { + private String klichka; + private Integer numYears; + protected abstract void eat(); + protected abstract void sleep(); + public void move(){ + + }; + + public Animal(String klichka) { + this.klichka = klichka; + } + + public String getKlichka() { + return klichka; + } + + public void setKlichka(String klichka) { + this.klichka = klichka; + } + + public Integer getNumYears() { + return numYears; + } + + public void setNumYears(Integer numYears) { + this.numYears = numYears; + } +} diff --git a/src/ru/skypro/animals/hierarchy/Birds.java b/src/ru/skypro/animals/hierarchy/Birds.java new file mode 100644 index 0000000..91f4e4c --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Birds.java @@ -0,0 +1,29 @@ +package ru.skypro.animals.hierarchy; + +abstract class Birds extends Animal{ + + private String area; + protected abstract void hunt(); + + public Birds(String klichka, String area) { + super(klichka); + this.area = area; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + @Override + protected void eat() { + + } + + @Override + protected void sleep() { + + } +} diff --git a/src/ru/skypro/animals/hierarchy/Flying.java b/src/ru/skypro/animals/hierarchy/Flying.java new file mode 100644 index 0000000..533395a --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Flying.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.hierarchy; + +public abstract class Flying extends Birds{ + private String moveType; + protected abstract void fly(); + + public Flying(String klichka, String area, String moveType) { + super(klichka, area); + this.moveType = moveType; + } + + public String getMoveType() { + return moveType; + } + + public void setMoveType(String moveType) { + this.moveType = moveType; + } +} diff --git a/src/ru/skypro/animals/hierarchy/Hischniki.java b/src/ru/skypro/animals/hierarchy/Hischniki.java new file mode 100644 index 0000000..d61baec --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Hischniki.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.hierarchy; + +public abstract class Hischniki extends Mlekopitaushie{ + private String typeOfPisha; + protected abstract void hunt(); + + public Hischniki(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed); + this.typeOfPisha = typeOfPisha; + } + + public String getTypeOfPisha() { + return typeOfPisha; + } + + public void setTypeOfPisha(String typeOfPisha) { + this.typeOfPisha = typeOfPisha; + } +} diff --git a/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java b/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java new file mode 100644 index 0000000..a70ef6d --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java @@ -0,0 +1,40 @@ +package ru.skypro.animals.hierarchy; + +abstract class Mlekopitaushie extends Animal{ + private String area; + private Integer speed; + protected void walk(){ + + }; + + public Mlekopitaushie(String klichka, String area, Integer speed) { + super(klichka); + this.area = area; + this.speed = speed; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public Integer getSpeed() { + return speed; + } + + public void setSpeed(Integer speed) { + this.speed = speed; + } + @Override + protected void eat() { + + } + + @Override + protected void sleep() { + + } +} diff --git a/src/ru/skypro/animals/hierarchy/NoFlying.java b/src/ru/skypro/animals/hierarchy/NoFlying.java new file mode 100644 index 0000000..3046ba3 --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/NoFlying.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.hierarchy; + +public abstract class NoFlying extends Birds { + private String moveType; + protected abstract void walk(); + + public NoFlying(String klichka, String area, String moveType) { + super(klichka, area); + this.moveType = moveType; + } + + public String getMoveType() { + return moveType; + } + + public void setMoveType(String moveType) { + this.moveType = moveType; + } +} diff --git a/src/ru/skypro/animals/hierarchy/Travoyadnie.java b/src/ru/skypro/animals/hierarchy/Travoyadnie.java new file mode 100644 index 0000000..5dd122a --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Travoyadnie.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.hierarchy; + +public abstract class Travoyadnie extends Mlekopitaushie { + private String typeOfPisha; + protected abstract void pastis(); + + public Travoyadnie(String klichka, String area, Integer speed, String typeOfPisha) { + super(klichka, area, speed); + this.typeOfPisha = typeOfPisha; + } + + public String getTypeOfPisha() { + return typeOfPisha; + } + + public void setTypeOfPisha(String typeOfPisha) { + this.typeOfPisha = typeOfPisha; + } +} diff --git a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java new file mode 100644 index 0000000..1d56b91 --- /dev/null +++ b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java @@ -0,0 +1,28 @@ +package ru.skypro.animals.hierarchy; + +public abstract class Zemnovodnie extends Animal{ + private String area; + protected abstract void hunt(); + + public Zemnovodnie(String klichka, String area) { + super(klichka); + this.area = area; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + @Override + protected void eat() { + + } + + @Override + protected void sleep() { + + } +} From 31278ff382a0383ea2fec682a35881f72f409d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Thu, 13 Oct 2022 18:10:49 +0300 Subject: [PATCH 09/11] part 3 --- src/ru/skypro/Main.java | 1 + src/ru/skypro/animals/Albotros.java | 19 ------------- src/ru/skypro/animals/Chaika.java | 19 ------------- src/ru/skypro/animals/Dodo.java | 19 ------------- src/ru/skypro/animals/Fog.java | 14 ---------- src/ru/skypro/animals/Gazel.java | 15 ----------- src/ru/skypro/animals/Hiena.java | 14 ---------- src/ru/skypro/animals/Loshad.java | 14 ---------- src/ru/skypro/animals/Main.java | 21 +++++++++++++++ src/ru/skypro/animals/Medved.java | 14 ---------- src/ru/skypro/animals/Pavlin.java | 19 ------------- src/ru/skypro/animals/Pingvin.java | 19 ------------- src/ru/skypro/animals/Sokol.java | 19 ------------- src/ru/skypro/animals/Tigr.java | 14 ---------- src/ru/skypro/animals/Uzh.java | 14 ---------- src/ru/skypro/animals/Zhiraf.java | 14 ---------- src/ru/skypro/animals/flying/Albotros.java | 19 +++++++++++++ src/ru/skypro/animals/flying/Chaika.java | 19 +++++++++++++ src/ru/skypro/animals/flying/Sokol.java | 19 +++++++++++++ src/ru/skypro/animals/hierarchy/Animal.java | 19 +++++++++---- src/ru/skypro/animals/hierarchy/Birds.java | 22 ++++++++++++--- src/ru/skypro/animals/hierarchy/Flying.java | 27 ++++++++++++++++--- .../skypro/animals/hierarchy/Hischniki.java | 27 ++++++++++++++++--- .../animals/hierarchy/Mlekopitaushie.java | 27 ++++++++++++++----- src/ru/skypro/animals/hierarchy/NoFlying.java | 27 ++++++++++++++++--- .../skypro/animals/hierarchy/Travoyadnie.java | 27 ++++++++++++++++--- .../skypro/animals/hierarchy/Zemnovodnie.java | 22 ++++++++++++--- src/ru/skypro/animals/hischniki/Hiena.java | 14 ++++++++++ src/ru/skypro/animals/hischniki/Medved.java | 14 ++++++++++ src/ru/skypro/animals/hischniki/Tigr.java | 14 ++++++++++ src/ru/skypro/animals/noflying/Dodo.java | 19 +++++++++++++ src/ru/skypro/animals/noflying/Pavlin.java | 19 +++++++++++++ src/ru/skypro/animals/noflying/Pingvin.java | 19 +++++++++++++ src/ru/skypro/animals/travoyadnie/Gazel.java | 15 +++++++++++ src/ru/skypro/animals/travoyadnie/Loshad.java | 14 ++++++++++ src/ru/skypro/animals/travoyadnie/Zhiraf.java | 14 ++++++++++ src/ru/skypro/animals/zemnovodnie/Fog.java | 14 ++++++++++ src/ru/skypro/animals/zemnovodnie/Uzh.java | 14 ++++++++++ 38 files changed, 412 insertions(+), 262 deletions(-) delete mode 100644 src/ru/skypro/animals/Albotros.java delete mode 100644 src/ru/skypro/animals/Chaika.java delete mode 100644 src/ru/skypro/animals/Dodo.java delete mode 100644 src/ru/skypro/animals/Fog.java delete mode 100644 src/ru/skypro/animals/Gazel.java delete mode 100644 src/ru/skypro/animals/Hiena.java delete mode 100644 src/ru/skypro/animals/Loshad.java create mode 100644 src/ru/skypro/animals/Main.java delete mode 100644 src/ru/skypro/animals/Medved.java delete mode 100644 src/ru/skypro/animals/Pavlin.java delete mode 100644 src/ru/skypro/animals/Pingvin.java delete mode 100644 src/ru/skypro/animals/Sokol.java delete mode 100644 src/ru/skypro/animals/Tigr.java delete mode 100644 src/ru/skypro/animals/Uzh.java delete mode 100644 src/ru/skypro/animals/Zhiraf.java create mode 100644 src/ru/skypro/animals/flying/Albotros.java create mode 100644 src/ru/skypro/animals/flying/Chaika.java create mode 100644 src/ru/skypro/animals/flying/Sokol.java create mode 100644 src/ru/skypro/animals/hischniki/Hiena.java create mode 100644 src/ru/skypro/animals/hischniki/Medved.java create mode 100644 src/ru/skypro/animals/hischniki/Tigr.java create mode 100644 src/ru/skypro/animals/noflying/Dodo.java create mode 100644 src/ru/skypro/animals/noflying/Pavlin.java create mode 100644 src/ru/skypro/animals/noflying/Pingvin.java create mode 100644 src/ru/skypro/animals/travoyadnie/Gazel.java create mode 100644 src/ru/skypro/animals/travoyadnie/Loshad.java create mode 100644 src/ru/skypro/animals/travoyadnie/Zhiraf.java create mode 100644 src/ru/skypro/animals/zemnovodnie/Fog.java create mode 100644 src/ru/skypro/animals/zemnovodnie/Uzh.java diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index d87d6e3..da4b40e 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -7,6 +7,7 @@ import java.time.Year; public class Main { + public static void main(String[] args) { Human Максим = new Human(1987, "Максим", "Минск", "бренд-менеджер"); Human Аня = new Human(1993, "Аня", "Москва", "методист образовательных программ"); diff --git a/src/ru/skypro/animals/Albotros.java b/src/ru/skypro/animals/Albotros.java deleted file mode 100644 index e343318..0000000 --- a/src/ru/skypro/animals/Albotros.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Flying; - -public class Albotros extends Flying { - public Albotros(String klichka, String area, String moveType) { - super(klichka, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void fly() { - - } -} diff --git a/src/ru/skypro/animals/Chaika.java b/src/ru/skypro/animals/Chaika.java deleted file mode 100644 index 16ecdbe..0000000 --- a/src/ru/skypro/animals/Chaika.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Flying; - -public class Chaika extends Flying { - public Chaika(String klichka, String area, String moveType) { - super(klichka, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void fly() { - - } -} diff --git a/src/ru/skypro/animals/Dodo.java b/src/ru/skypro/animals/Dodo.java deleted file mode 100644 index 99b77a7..0000000 --- a/src/ru/skypro/animals/Dodo.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.NoFlying; - -public class Dodo extends NoFlying { - public Dodo(String klichka, String area, String moveType) { - super(klichka, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void walk() { - - } -} diff --git a/src/ru/skypro/animals/Fog.java b/src/ru/skypro/animals/Fog.java deleted file mode 100644 index 531e7af..0000000 --- a/src/ru/skypro/animals/Fog.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Zemnovodnie; - -public class Fog extends Zemnovodnie { - public Fog(String klichka, String area) { - super(klichka, area); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/Gazel.java b/src/ru/skypro/animals/Gazel.java deleted file mode 100644 index a90ce30..0000000 --- a/src/ru/skypro/animals/Gazel.java +++ /dev/null @@ -1,15 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Travoyadnie; - -public class Gazel extends Travoyadnie { - - public Gazel(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed, typeOfPisha); - } - - @Override - protected void pastis() { - - } -} diff --git a/src/ru/skypro/animals/Hiena.java b/src/ru/skypro/animals/Hiena.java deleted file mode 100644 index bdb7737..0000000 --- a/src/ru/skypro/animals/Hiena.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Hischniki; - -public class Hiena extends Hischniki { - public Hiena(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed, typeOfPisha); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/Loshad.java b/src/ru/skypro/animals/Loshad.java deleted file mode 100644 index c408561..0000000 --- a/src/ru/skypro/animals/Loshad.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Travoyadnie; - -public class Loshad extends Travoyadnie { - public Loshad(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed, typeOfPisha); - } - - @Override - protected void pastis() { - - } -} diff --git a/src/ru/skypro/animals/Main.java b/src/ru/skypro/animals/Main.java new file mode 100644 index 0000000..e39b27e --- /dev/null +++ b/src/ru/skypro/animals/Main.java @@ -0,0 +1,21 @@ +package ru.skypro.animals; + +import ru.skypro.animals.flying.Albotros; + +//Main class for test Part3 +public class Main { + public static void main(String[] args) { + Albotros albotros = new Albotros("alba", 7,"sever",null); + System.out.println(albotros); + } + + public static class CheckUtil { + + public static String checkString (String string, String elseString) { + return string == null || string.length() == 0 ? elseString: string; + } + public static Integer checkInteger (Integer integer, Integer elseInt) { + return integer == null || integer<0 ? elseInt: integer; + } + } +} diff --git a/src/ru/skypro/animals/Medved.java b/src/ru/skypro/animals/Medved.java deleted file mode 100644 index f1b7b64..0000000 --- a/src/ru/skypro/animals/Medved.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Hischniki; - -public class Medved extends Hischniki { - public Medved(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed, typeOfPisha); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/Pavlin.java b/src/ru/skypro/animals/Pavlin.java deleted file mode 100644 index a54d6fe..0000000 --- a/src/ru/skypro/animals/Pavlin.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.NoFlying; - -public class Pavlin extends NoFlying { - public Pavlin(String klichka, String area, String moveType) { - super(klichka, area, moveType); - } - - @Override - protected void walk() { - - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/Pingvin.java b/src/ru/skypro/animals/Pingvin.java deleted file mode 100644 index 5f5ef94..0000000 --- a/src/ru/skypro/animals/Pingvin.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.NoFlying; - -public class Pingvin extends NoFlying { - public Pingvin(String klichka, String area, String moveType) { - super(klichka, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void walk() { - - } -} diff --git a/src/ru/skypro/animals/Sokol.java b/src/ru/skypro/animals/Sokol.java deleted file mode 100644 index 8591617..0000000 --- a/src/ru/skypro/animals/Sokol.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Flying; - -public class Sokol extends Flying { - public Sokol(String klichka, String area, String moveType) { - super(klichka, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void fly() { - - } -} diff --git a/src/ru/skypro/animals/Tigr.java b/src/ru/skypro/animals/Tigr.java deleted file mode 100644 index be2d7ac..0000000 --- a/src/ru/skypro/animals/Tigr.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Hischniki; - -public class Tigr extends Hischniki { - public Tigr(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed, typeOfPisha); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/Uzh.java b/src/ru/skypro/animals/Uzh.java deleted file mode 100644 index 2862b5b..0000000 --- a/src/ru/skypro/animals/Uzh.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Zemnovodnie; - -public class Uzh extends Zemnovodnie { - public Uzh(String klichka, String area) { - super(klichka, area); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/Zhiraf.java b/src/ru/skypro/animals/Zhiraf.java deleted file mode 100644 index d5cdf11..0000000 --- a/src/ru/skypro/animals/Zhiraf.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals; - -import ru.skypro.animals.hierarchy.Travoyadnie; - -public class Zhiraf extends Travoyadnie { - public Zhiraf(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed, typeOfPisha); - } - - @Override - protected void pastis() { - - } -} diff --git a/src/ru/skypro/animals/flying/Albotros.java b/src/ru/skypro/animals/flying/Albotros.java new file mode 100644 index 0000000..7428ffe --- /dev/null +++ b/src/ru/skypro/animals/flying/Albotros.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.flying; + +import ru.skypro.animals.hierarchy.Flying; + +public final class Albotros extends Flying { + public Albotros(String klichka, Integer numYears, String area, String moveType) { + super(klichka, numYears, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void fly() { + + } +} diff --git a/src/ru/skypro/animals/flying/Chaika.java b/src/ru/skypro/animals/flying/Chaika.java new file mode 100644 index 0000000..1ba1cde --- /dev/null +++ b/src/ru/skypro/animals/flying/Chaika.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.flying; + +import ru.skypro.animals.hierarchy.Flying; + +public final class Chaika extends Flying { + public Chaika(String klichka, Integer numYears, String area, String moveType) { + super(klichka, numYears, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void fly() { + + } +} diff --git a/src/ru/skypro/animals/flying/Sokol.java b/src/ru/skypro/animals/flying/Sokol.java new file mode 100644 index 0000000..8a62a2a --- /dev/null +++ b/src/ru/skypro/animals/flying/Sokol.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.flying; + +import ru.skypro.animals.hierarchy.Flying; + +public final class Sokol extends Flying { + public Sokol(String klichka, Integer numYears, String area, String moveType) { + super(klichka,numYears, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void fly() { + + } +} diff --git a/src/ru/skypro/animals/hierarchy/Animal.java b/src/ru/skypro/animals/hierarchy/Animal.java index bd2e6cb..e2aaa32 100644 --- a/src/ru/skypro/animals/hierarchy/Animal.java +++ b/src/ru/skypro/animals/hierarchy/Animal.java @@ -1,16 +1,25 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + abstract class Animal { private String klichka; private Integer numYears; protected abstract void eat(); protected abstract void sleep(); - public void move(){ + protected abstract void go(); - }; + public Animal(String klichka, Integer numYears) { + this.klichka = Main.CheckUtil.checkString(klichka,"klichka"); + this.numYears = Main.CheckUtil.checkInteger(numYears,5); + } - public Animal(String klichka) { - this.klichka = klichka; + @Override + public String toString() { + return "Animal{" + + "klichka='" + klichka + '\'' + + ", numYears=" + numYears + + '}'; } public String getKlichka() { @@ -18,7 +27,7 @@ public String getKlichka() { } public void setKlichka(String klichka) { - this.klichka = klichka; + this.klichka = Main.CheckUtil.checkString(klichka,"klichka"); } public Integer getNumYears() { diff --git a/src/ru/skypro/animals/hierarchy/Birds.java b/src/ru/skypro/animals/hierarchy/Birds.java index 91f4e4c..143a3cd 100644 --- a/src/ru/skypro/animals/hierarchy/Birds.java +++ b/src/ru/skypro/animals/hierarchy/Birds.java @@ -1,13 +1,22 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + abstract class Birds extends Animal{ private String area; protected abstract void hunt(); - public Birds(String klichka, String area) { - super(klichka); - this.area = area; + public Birds(String klichka, Integer numYears, String area) { + super(klichka,numYears); + this.area = Main.CheckUtil.checkString(area,"area"); + } + + @Override + public String toString() { + return "Birds{" + super.toString() + + "area='" + area + '\'' + + '}'; } public String getArea() { @@ -15,13 +24,18 @@ public String getArea() { } public void setArea(String area) { - this.area = area; + this.area = Main.CheckUtil.checkString(area,"area"); } @Override protected void eat() { } + @Override + protected void go() { + + } + @Override protected void sleep() { diff --git a/src/ru/skypro/animals/hierarchy/Flying.java b/src/ru/skypro/animals/hierarchy/Flying.java index 533395a..96853bd 100644 --- a/src/ru/skypro/animals/hierarchy/Flying.java +++ b/src/ru/skypro/animals/hierarchy/Flying.java @@ -1,12 +1,21 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + public abstract class Flying extends Birds{ private String moveType; protected abstract void fly(); - public Flying(String klichka, String area, String moveType) { - super(klichka, area); - this.moveType = moveType; + public Flying(String klichka, Integer numYears, String area, String moveType) { + super(klichka, numYears, area); + this.moveType = Main.CheckUtil.checkString(moveType,"moveType"); + } + + @Override + public String toString() { + return "Flying{" + super.toString() + + "moveType='" + moveType + '\'' + + '}'; } public String getMoveType() { @@ -14,6 +23,16 @@ public String getMoveType() { } public void setMoveType(String moveType) { - this.moveType = moveType; + this.moveType = Main.CheckUtil.checkString(moveType,"moveType"); + } + + @Override + protected void go() { + super.go(); + } + + @Override + protected void eat() { + super.eat(); } } diff --git a/src/ru/skypro/animals/hierarchy/Hischniki.java b/src/ru/skypro/animals/hierarchy/Hischniki.java index d61baec..efbfca4 100644 --- a/src/ru/skypro/animals/hierarchy/Hischniki.java +++ b/src/ru/skypro/animals/hierarchy/Hischniki.java @@ -1,12 +1,21 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + public abstract class Hischniki extends Mlekopitaushie{ private String typeOfPisha; protected abstract void hunt(); - public Hischniki(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed); - this.typeOfPisha = typeOfPisha; + public Hischniki(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka,numYears, area, speed); + this.typeOfPisha = Main.CheckUtil.checkString(typeOfPisha,"typeOfPisha"); + } + + @Override + public String toString() { + return "Hischniki{" + super.toString() + + "typeOfPisha='" + typeOfPisha + '\'' + + '}'; } public String getTypeOfPisha() { @@ -14,6 +23,16 @@ public String getTypeOfPisha() { } public void setTypeOfPisha(String typeOfPisha) { - this.typeOfPisha = typeOfPisha; + this.typeOfPisha = Main.CheckUtil.checkString(typeOfPisha,"typeOfPisha"); + } + + @Override + protected void go() { + super.go(); + } + + @Override + protected void eat() { + super.eat(); } } diff --git a/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java b/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java index a70ef6d..37fdd17 100644 --- a/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java +++ b/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java @@ -1,5 +1,7 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + abstract class Mlekopitaushie extends Animal{ private String area; private Integer speed; @@ -7,10 +9,18 @@ protected void walk(){ }; - public Mlekopitaushie(String klichka, String area, Integer speed) { - super(klichka); - this.area = area; - this.speed = speed; + public Mlekopitaushie(String klichka, Integer numYears, String area, Integer speed) { + super(klichka, numYears); + this.area = Main.CheckUtil.checkString(area,"area"); + this.speed = Main.CheckUtil.checkInteger(speed,10); + } + + @Override + public String toString() { + return "Mlekopitaushie{" + super.toString() + + "area='" + area + '\'' + + ", speed=" + speed + + '}'; } public String getArea() { @@ -18,7 +28,7 @@ public String getArea() { } public void setArea(String area) { - this.area = area; + this.area = Main.CheckUtil.checkString(area,"area"); } public Integer getSpeed() { @@ -26,7 +36,7 @@ public Integer getSpeed() { } public void setSpeed(Integer speed) { - this.speed = speed; + this.speed = Main.CheckUtil.checkInteger(speed,10); } @Override protected void eat() { @@ -37,4 +47,9 @@ protected void eat() { protected void sleep() { } + + @Override + protected void go() { + + } } diff --git a/src/ru/skypro/animals/hierarchy/NoFlying.java b/src/ru/skypro/animals/hierarchy/NoFlying.java index 3046ba3..210865f 100644 --- a/src/ru/skypro/animals/hierarchy/NoFlying.java +++ b/src/ru/skypro/animals/hierarchy/NoFlying.java @@ -1,12 +1,21 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + public abstract class NoFlying extends Birds { private String moveType; protected abstract void walk(); - public NoFlying(String klichka, String area, String moveType) { - super(klichka, area); - this.moveType = moveType; + public NoFlying(String klichka, Integer numYears, String area, String moveType) { + super(klichka,numYears, area); + this.moveType = Main.CheckUtil.checkString(moveType,"moveType"); + } + + @Override + public String toString() { + return "NoFlying{" + super.toString() + + "moveType='" + moveType + '\'' + + '}'; } public String getMoveType() { @@ -14,6 +23,16 @@ public String getMoveType() { } public void setMoveType(String moveType) { - this.moveType = moveType; + this.moveType = Main.CheckUtil.checkString(moveType,"moveType"); + } + + @Override + protected void go() { + super.go(); + } + + @Override + protected void eat() { + super.eat(); } } diff --git a/src/ru/skypro/animals/hierarchy/Travoyadnie.java b/src/ru/skypro/animals/hierarchy/Travoyadnie.java index 5dd122a..b655cea 100644 --- a/src/ru/skypro/animals/hierarchy/Travoyadnie.java +++ b/src/ru/skypro/animals/hierarchy/Travoyadnie.java @@ -1,12 +1,21 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + public abstract class Travoyadnie extends Mlekopitaushie { private String typeOfPisha; protected abstract void pastis(); - public Travoyadnie(String klichka, String area, Integer speed, String typeOfPisha) { - super(klichka, area, speed); - this.typeOfPisha = typeOfPisha; + public Travoyadnie(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka,numYears, area, speed); + this.typeOfPisha = Main.CheckUtil.checkString(typeOfPisha,"typeOfPisha"); + } + + @Override + public String toString() { + return "Travoyadnie{" + super.toString() + + "typeOfPisha='" + typeOfPisha + '\'' + + '}'; } public String getTypeOfPisha() { @@ -14,6 +23,16 @@ public String getTypeOfPisha() { } public void setTypeOfPisha(String typeOfPisha) { - this.typeOfPisha = typeOfPisha; + this.typeOfPisha = Main.CheckUtil.checkString(typeOfPisha,"typeOfPisha"); + } + + @Override + protected void go() { + super.go(); + } + + @Override + protected void eat() { + super.eat(); } } diff --git a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java index 1d56b91..9194bdb 100644 --- a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java +++ b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java @@ -1,12 +1,21 @@ package ru.skypro.animals.hierarchy; +import ru.skypro.animals.Main; + public abstract class Zemnovodnie extends Animal{ private String area; protected abstract void hunt(); - public Zemnovodnie(String klichka, String area) { - super(klichka); - this.area = area; + public Zemnovodnie(String klichka, Integer numYears, String area) { + super(klichka,numYears); + this.area = Main.CheckUtil.checkString(area,"area"); + } + + @Override + public String toString() { + return "Zemnovodnie{" + super.toString() + + "area='" + area + '\'' + + '}'; } public String getArea() { @@ -14,13 +23,18 @@ public String getArea() { } public void setArea(String area) { - this.area = area; + this.area = Main.CheckUtil.checkString(area,"area"); } @Override protected void eat() { } + @Override + protected void go() { + + } + @Override protected void sleep() { diff --git a/src/ru/skypro/animals/hischniki/Hiena.java b/src/ru/skypro/animals/hischniki/Hiena.java new file mode 100644 index 0000000..04e77ba --- /dev/null +++ b/src/ru/skypro/animals/hischniki/Hiena.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.hischniki; + +import ru.skypro.animals.hierarchy.Hischniki; + +public final class Hiena extends Hischniki { + public Hiena(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka, numYears, area, speed, typeOfPisha); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/hischniki/Medved.java b/src/ru/skypro/animals/hischniki/Medved.java new file mode 100644 index 0000000..9e4eeb3 --- /dev/null +++ b/src/ru/skypro/animals/hischniki/Medved.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.hischniki; + +import ru.skypro.animals.hierarchy.Hischniki; + +public final class Medved extends Hischniki { + public Medved(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka, numYears, area, speed, typeOfPisha); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/hischniki/Tigr.java b/src/ru/skypro/animals/hischniki/Tigr.java new file mode 100644 index 0000000..945c8f9 --- /dev/null +++ b/src/ru/skypro/animals/hischniki/Tigr.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.hischniki; + +import ru.skypro.animals.hierarchy.Hischniki; + +public final class Tigr extends Hischniki { + public Tigr(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka, numYears, area, speed, typeOfPisha); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/noflying/Dodo.java b/src/ru/skypro/animals/noflying/Dodo.java new file mode 100644 index 0000000..614f55d --- /dev/null +++ b/src/ru/skypro/animals/noflying/Dodo.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.noflying; + +import ru.skypro.animals.hierarchy.NoFlying; + +public final class Dodo extends NoFlying { + public Dodo(String klichka, Integer numYears, String area, String moveType) { + super(klichka, numYears, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void walk() { + + } +} diff --git a/src/ru/skypro/animals/noflying/Pavlin.java b/src/ru/skypro/animals/noflying/Pavlin.java new file mode 100644 index 0000000..084cf07 --- /dev/null +++ b/src/ru/skypro/animals/noflying/Pavlin.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.noflying; + +import ru.skypro.animals.hierarchy.NoFlying; + +public final class Pavlin extends NoFlying { + public Pavlin(String klichka, Integer numYears, String area, String moveType) { + super(klichka, numYears, area, moveType); + } + + @Override + protected void walk() { + + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/noflying/Pingvin.java b/src/ru/skypro/animals/noflying/Pingvin.java new file mode 100644 index 0000000..aa31606 --- /dev/null +++ b/src/ru/skypro/animals/noflying/Pingvin.java @@ -0,0 +1,19 @@ +package ru.skypro.animals.noflying; + +import ru.skypro.animals.hierarchy.NoFlying; + +public final class Pingvin extends NoFlying { + public Pingvin(String klichka, Integer numYears, String area, String moveType) { + super(klichka, numYears, area, moveType); + } + + @Override + protected void hunt() { + + } + + @Override + protected void walk() { + + } +} diff --git a/src/ru/skypro/animals/travoyadnie/Gazel.java b/src/ru/skypro/animals/travoyadnie/Gazel.java new file mode 100644 index 0000000..f06f1b6 --- /dev/null +++ b/src/ru/skypro/animals/travoyadnie/Gazel.java @@ -0,0 +1,15 @@ +package ru.skypro.animals.travoyadnie; + +import ru.skypro.animals.hierarchy.Travoyadnie; + +public final class Gazel extends Travoyadnie { + + public Gazel(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka, numYears, area, speed, typeOfPisha); + } + + @Override + protected void pastis() { + + } +} diff --git a/src/ru/skypro/animals/travoyadnie/Loshad.java b/src/ru/skypro/animals/travoyadnie/Loshad.java new file mode 100644 index 0000000..7883ab2 --- /dev/null +++ b/src/ru/skypro/animals/travoyadnie/Loshad.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.travoyadnie; + +import ru.skypro.animals.hierarchy.Travoyadnie; + +public final class Loshad extends Travoyadnie { + public Loshad(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka, numYears, area, speed, typeOfPisha); + } + + @Override + protected void pastis() { + + } +} diff --git a/src/ru/skypro/animals/travoyadnie/Zhiraf.java b/src/ru/skypro/animals/travoyadnie/Zhiraf.java new file mode 100644 index 0000000..f7c28e9 --- /dev/null +++ b/src/ru/skypro/animals/travoyadnie/Zhiraf.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.travoyadnie; + +import ru.skypro.animals.hierarchy.Travoyadnie; + +public final class Zhiraf extends Travoyadnie { + public Zhiraf(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { + super(klichka, numYears, area, speed, typeOfPisha); + } + + @Override + protected void pastis() { + + } +} diff --git a/src/ru/skypro/animals/zemnovodnie/Fog.java b/src/ru/skypro/animals/zemnovodnie/Fog.java new file mode 100644 index 0000000..0d23fe9 --- /dev/null +++ b/src/ru/skypro/animals/zemnovodnie/Fog.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.zemnovodnie; + +import ru.skypro.animals.hierarchy.Zemnovodnie; + +public final class Fog extends Zemnovodnie { + public Fog(String klichka, Integer numYears, String area) { + super(klichka, numYears, area); + } + + @Override + protected void hunt() { + + } +} diff --git a/src/ru/skypro/animals/zemnovodnie/Uzh.java b/src/ru/skypro/animals/zemnovodnie/Uzh.java new file mode 100644 index 0000000..df63535 --- /dev/null +++ b/src/ru/skypro/animals/zemnovodnie/Uzh.java @@ -0,0 +1,14 @@ +package ru.skypro.animals.zemnovodnie; + +import ru.skypro.animals.hierarchy.Zemnovodnie; + +public final class Uzh extends Zemnovodnie { + public Uzh(String klichka, Integer numYears, String area) { + super(klichka, numYears, area); + } + + @Override + protected void hunt() { + + } +} From c0adec0a2ee23cb05f1f1f31478bf7ac4ebe1c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sun, 23 Oct 2022 13:09:09 +0300 Subject: [PATCH 10/11] fixes --- src/ru/skypro/animals/Main.java | 19 +++++++++++++++--- src/ru/skypro/animals/flying/Albotros.java | 19 ------------------ src/ru/skypro/animals/flying/Chaika.java | 19 ------------------ src/ru/skypro/animals/flying/Sokol.java | 19 ------------------ src/ru/skypro/animals/hierarchy/Birds.java | 2 +- src/ru/skypro/animals/hierarchy/Flying.java | 20 +++++++++++++++++-- .../skypro/animals/hierarchy/Hischniki.java | 18 +++++++++++++++-- src/ru/skypro/animals/hierarchy/NoFlying.java | 19 ++++++++++++++++-- .../skypro/animals/hierarchy/Travoyadnie.java | 18 +++++++++++++++-- .../skypro/animals/hierarchy/Zemnovodnie.java | 18 +++++++++++++++-- src/ru/skypro/animals/hischniki/Hiena.java | 14 ------------- src/ru/skypro/animals/hischniki/Medved.java | 14 ------------- src/ru/skypro/animals/hischniki/Tigr.java | 14 ------------- src/ru/skypro/animals/noflying/Dodo.java | 19 ------------------ src/ru/skypro/animals/noflying/Pavlin.java | 19 ------------------ src/ru/skypro/animals/noflying/Pingvin.java | 19 ------------------ src/ru/skypro/animals/travoyadnie/Gazel.java | 15 -------------- src/ru/skypro/animals/travoyadnie/Loshad.java | 14 ------------- src/ru/skypro/animals/travoyadnie/Zhiraf.java | 14 ------------- src/ru/skypro/animals/zemnovodnie/Fog.java | 14 ------------- src/ru/skypro/animals/zemnovodnie/Uzh.java | 14 ------------- src/ru/skypro/transport/Transport.java | 12 +++++------ 22 files changed, 106 insertions(+), 247 deletions(-) delete mode 100644 src/ru/skypro/animals/flying/Albotros.java delete mode 100644 src/ru/skypro/animals/flying/Chaika.java delete mode 100644 src/ru/skypro/animals/flying/Sokol.java delete mode 100644 src/ru/skypro/animals/hischniki/Hiena.java delete mode 100644 src/ru/skypro/animals/hischniki/Medved.java delete mode 100644 src/ru/skypro/animals/hischniki/Tigr.java delete mode 100644 src/ru/skypro/animals/noflying/Dodo.java delete mode 100644 src/ru/skypro/animals/noflying/Pavlin.java delete mode 100644 src/ru/skypro/animals/noflying/Pingvin.java delete mode 100644 src/ru/skypro/animals/travoyadnie/Gazel.java delete mode 100644 src/ru/skypro/animals/travoyadnie/Loshad.java delete mode 100644 src/ru/skypro/animals/travoyadnie/Zhiraf.java delete mode 100644 src/ru/skypro/animals/zemnovodnie/Fog.java delete mode 100644 src/ru/skypro/animals/zemnovodnie/Uzh.java diff --git a/src/ru/skypro/animals/Main.java b/src/ru/skypro/animals/Main.java index e39b27e..28abd7c 100644 --- a/src/ru/skypro/animals/Main.java +++ b/src/ru/skypro/animals/Main.java @@ -1,12 +1,25 @@ package ru.skypro.animals; -import ru.skypro.animals.flying.Albotros; +import ru.skypro.animals.hierarchy.*; //Main class for test Part3 public class Main { public static void main(String[] args) { - Albotros albotros = new Albotros("alba", 7,"sever",null); - System.out.println(albotros); + var Albotros = new Flying("Albotros",4,"asd","walk"); + var Chaika = new Flying("Chaika",4,"asd","walk"); + var Sokol = new Flying("Sokol",4,"asd","walk"); + var Hiena = new Hischniki("Hiena",4,"asd",20,"asd"); + var Medved = new Hischniki("Medved",4,"asd",20,"asd"); + var Tigr = new Hischniki("Tigr",4,"asd",20,"asd"); + var Dodo = new NoFlying("Dodo",4,"asd","walk"); + var Pavlin = new NoFlying("Pavlin",4,"asd","walk"); + var Pingvin = new NoFlying("Pingvin",4,"asd","walk"); + var Gazel = new Travoyadnie("Gazel",4,"asd",12,"asd"); + var Loshad = new Travoyadnie("Loshad",4,"asd",13,"asd"); + var Zhiraf = new Travoyadnie("Zhiraf",4,"asd",14,"asd"); + var Fog = new Zemnovodnie("Fog",4,"asd"); + var Uzh = new Zemnovodnie("Uzh",4,"asd"); + System.out.println(Albotros); } public static class CheckUtil { diff --git a/src/ru/skypro/animals/flying/Albotros.java b/src/ru/skypro/animals/flying/Albotros.java deleted file mode 100644 index 7428ffe..0000000 --- a/src/ru/skypro/animals/flying/Albotros.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals.flying; - -import ru.skypro.animals.hierarchy.Flying; - -public final class Albotros extends Flying { - public Albotros(String klichka, Integer numYears, String area, String moveType) { - super(klichka, numYears, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void fly() { - - } -} diff --git a/src/ru/skypro/animals/flying/Chaika.java b/src/ru/skypro/animals/flying/Chaika.java deleted file mode 100644 index 1ba1cde..0000000 --- a/src/ru/skypro/animals/flying/Chaika.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals.flying; - -import ru.skypro.animals.hierarchy.Flying; - -public final class Chaika extends Flying { - public Chaika(String klichka, Integer numYears, String area, String moveType) { - super(klichka, numYears, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void fly() { - - } -} diff --git a/src/ru/skypro/animals/flying/Sokol.java b/src/ru/skypro/animals/flying/Sokol.java deleted file mode 100644 index 8a62a2a..0000000 --- a/src/ru/skypro/animals/flying/Sokol.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals.flying; - -import ru.skypro.animals.hierarchy.Flying; - -public final class Sokol extends Flying { - public Sokol(String klichka, Integer numYears, String area, String moveType) { - super(klichka,numYears, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void fly() { - - } -} diff --git a/src/ru/skypro/animals/hierarchy/Birds.java b/src/ru/skypro/animals/hierarchy/Birds.java index 143a3cd..a475e7b 100644 --- a/src/ru/skypro/animals/hierarchy/Birds.java +++ b/src/ru/skypro/animals/hierarchy/Birds.java @@ -5,7 +5,7 @@ abstract class Birds extends Animal{ private String area; - protected abstract void hunt(); + protected void hunt() {}; public Birds(String klichka, Integer numYears, String area) { super(klichka,numYears); diff --git a/src/ru/skypro/animals/hierarchy/Flying.java b/src/ru/skypro/animals/hierarchy/Flying.java index 96853bd..9971100 100644 --- a/src/ru/skypro/animals/hierarchy/Flying.java +++ b/src/ru/skypro/animals/hierarchy/Flying.java @@ -2,9 +2,13 @@ import ru.skypro.animals.Main; -public abstract class Flying extends Birds{ +import java.util.Objects; + +public class Flying extends Birds{ private String moveType; - protected abstract void fly(); + protected void fly(){ + + }; public Flying(String klichka, Integer numYears, String area, String moveType) { super(klichka, numYears, area); @@ -35,4 +39,16 @@ protected void go() { protected void eat() { super.eat(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Flying flying)) return false; + return Objects.equals(getKlichka(), flying.getKlichka()); + } + + @Override + public int hashCode() { + return Objects.hash(getKlichka()); + } } diff --git a/src/ru/skypro/animals/hierarchy/Hischniki.java b/src/ru/skypro/animals/hierarchy/Hischniki.java index efbfca4..8ada293 100644 --- a/src/ru/skypro/animals/hierarchy/Hischniki.java +++ b/src/ru/skypro/animals/hierarchy/Hischniki.java @@ -2,9 +2,11 @@ import ru.skypro.animals.Main; -public abstract class Hischniki extends Mlekopitaushie{ +import java.util.Objects; + +public class Hischniki extends Mlekopitaushie{ private String typeOfPisha; - protected abstract void hunt(); + protected void hunt(){}; public Hischniki(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { super(klichka,numYears, area, speed); @@ -35,4 +37,16 @@ protected void go() { protected void eat() { super.eat(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Hischniki hischniki)) return false; + return Objects.equals(getKlichka(), hischniki.getKlichka()); + } + + @Override + public int hashCode() { + return Objects.hash(getKlichka()); + } } diff --git a/src/ru/skypro/animals/hierarchy/NoFlying.java b/src/ru/skypro/animals/hierarchy/NoFlying.java index 210865f..d43240e 100644 --- a/src/ru/skypro/animals/hierarchy/NoFlying.java +++ b/src/ru/skypro/animals/hierarchy/NoFlying.java @@ -2,9 +2,11 @@ import ru.skypro.animals.Main; -public abstract class NoFlying extends Birds { +import java.util.Objects; + +public class NoFlying extends Birds { private String moveType; - protected abstract void walk(); + protected void walk(){}; public NoFlying(String klichka, Integer numYears, String area, String moveType) { super(klichka,numYears, area); @@ -35,4 +37,17 @@ protected void go() { protected void eat() { super.eat(); } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof NoFlying noFlying)) return false; + return Objects.equals(getKlichka(), noFlying.getKlichka()); + } + + @Override + public int hashCode() { + return Objects.hash(getKlichka()); + } } diff --git a/src/ru/skypro/animals/hierarchy/Travoyadnie.java b/src/ru/skypro/animals/hierarchy/Travoyadnie.java index b655cea..c6eea90 100644 --- a/src/ru/skypro/animals/hierarchy/Travoyadnie.java +++ b/src/ru/skypro/animals/hierarchy/Travoyadnie.java @@ -2,9 +2,11 @@ import ru.skypro.animals.Main; -public abstract class Travoyadnie extends Mlekopitaushie { +import java.util.Objects; + +public class Travoyadnie extends Mlekopitaushie { private String typeOfPisha; - protected abstract void pastis(); + protected void pastis(){}; public Travoyadnie(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { super(klichka,numYears, area, speed); @@ -35,4 +37,16 @@ protected void go() { protected void eat() { super.eat(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Travoyadnie travoyadnie)) return false; + return Objects.equals(getKlichka(), travoyadnie.getKlichka()); + } + + @Override + public int hashCode() { + return Objects.hash(getKlichka()); + } } diff --git a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java index 9194bdb..38df09a 100644 --- a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java +++ b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java @@ -2,9 +2,11 @@ import ru.skypro.animals.Main; -public abstract class Zemnovodnie extends Animal{ +import java.util.Objects; + +public class Zemnovodnie extends Animal{ private String area; - protected abstract void hunt(); + protected void hunt(){}; public Zemnovodnie(String klichka, Integer numYears, String area) { super(klichka,numYears); @@ -39,4 +41,16 @@ protected void go() { protected void sleep() { } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Zemnovodnie zemnovodnie)) return false; + return Objects.equals(getKlichka(), zemnovodnie.getKlichka()); + } + + @Override + public int hashCode() { + return Objects.hash(getKlichka()); + } } diff --git a/src/ru/skypro/animals/hischniki/Hiena.java b/src/ru/skypro/animals/hischniki/Hiena.java deleted file mode 100644 index 04e77ba..0000000 --- a/src/ru/skypro/animals/hischniki/Hiena.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.hischniki; - -import ru.skypro.animals.hierarchy.Hischniki; - -public final class Hiena extends Hischniki { - public Hiena(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { - super(klichka, numYears, area, speed, typeOfPisha); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/hischniki/Medved.java b/src/ru/skypro/animals/hischniki/Medved.java deleted file mode 100644 index 9e4eeb3..0000000 --- a/src/ru/skypro/animals/hischniki/Medved.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.hischniki; - -import ru.skypro.animals.hierarchy.Hischniki; - -public final class Medved extends Hischniki { - public Medved(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { - super(klichka, numYears, area, speed, typeOfPisha); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/hischniki/Tigr.java b/src/ru/skypro/animals/hischniki/Tigr.java deleted file mode 100644 index 945c8f9..0000000 --- a/src/ru/skypro/animals/hischniki/Tigr.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.hischniki; - -import ru.skypro.animals.hierarchy.Hischniki; - -public final class Tigr extends Hischniki { - public Tigr(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { - super(klichka, numYears, area, speed, typeOfPisha); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/noflying/Dodo.java b/src/ru/skypro/animals/noflying/Dodo.java deleted file mode 100644 index 614f55d..0000000 --- a/src/ru/skypro/animals/noflying/Dodo.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals.noflying; - -import ru.skypro.animals.hierarchy.NoFlying; - -public final class Dodo extends NoFlying { - public Dodo(String klichka, Integer numYears, String area, String moveType) { - super(klichka, numYears, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void walk() { - - } -} diff --git a/src/ru/skypro/animals/noflying/Pavlin.java b/src/ru/skypro/animals/noflying/Pavlin.java deleted file mode 100644 index 084cf07..0000000 --- a/src/ru/skypro/animals/noflying/Pavlin.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals.noflying; - -import ru.skypro.animals.hierarchy.NoFlying; - -public final class Pavlin extends NoFlying { - public Pavlin(String klichka, Integer numYears, String area, String moveType) { - super(klichka, numYears, area, moveType); - } - - @Override - protected void walk() { - - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/noflying/Pingvin.java b/src/ru/skypro/animals/noflying/Pingvin.java deleted file mode 100644 index aa31606..0000000 --- a/src/ru/skypro/animals/noflying/Pingvin.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.skypro.animals.noflying; - -import ru.skypro.animals.hierarchy.NoFlying; - -public final class Pingvin extends NoFlying { - public Pingvin(String klichka, Integer numYears, String area, String moveType) { - super(klichka, numYears, area, moveType); - } - - @Override - protected void hunt() { - - } - - @Override - protected void walk() { - - } -} diff --git a/src/ru/skypro/animals/travoyadnie/Gazel.java b/src/ru/skypro/animals/travoyadnie/Gazel.java deleted file mode 100644 index f06f1b6..0000000 --- a/src/ru/skypro/animals/travoyadnie/Gazel.java +++ /dev/null @@ -1,15 +0,0 @@ -package ru.skypro.animals.travoyadnie; - -import ru.skypro.animals.hierarchy.Travoyadnie; - -public final class Gazel extends Travoyadnie { - - public Gazel(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { - super(klichka, numYears, area, speed, typeOfPisha); - } - - @Override - protected void pastis() { - - } -} diff --git a/src/ru/skypro/animals/travoyadnie/Loshad.java b/src/ru/skypro/animals/travoyadnie/Loshad.java deleted file mode 100644 index 7883ab2..0000000 --- a/src/ru/skypro/animals/travoyadnie/Loshad.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.travoyadnie; - -import ru.skypro.animals.hierarchy.Travoyadnie; - -public final class Loshad extends Travoyadnie { - public Loshad(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { - super(klichka, numYears, area, speed, typeOfPisha); - } - - @Override - protected void pastis() { - - } -} diff --git a/src/ru/skypro/animals/travoyadnie/Zhiraf.java b/src/ru/skypro/animals/travoyadnie/Zhiraf.java deleted file mode 100644 index f7c28e9..0000000 --- a/src/ru/skypro/animals/travoyadnie/Zhiraf.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.travoyadnie; - -import ru.skypro.animals.hierarchy.Travoyadnie; - -public final class Zhiraf extends Travoyadnie { - public Zhiraf(String klichka, Integer numYears, String area, Integer speed, String typeOfPisha) { - super(klichka, numYears, area, speed, typeOfPisha); - } - - @Override - protected void pastis() { - - } -} diff --git a/src/ru/skypro/animals/zemnovodnie/Fog.java b/src/ru/skypro/animals/zemnovodnie/Fog.java deleted file mode 100644 index 0d23fe9..0000000 --- a/src/ru/skypro/animals/zemnovodnie/Fog.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.zemnovodnie; - -import ru.skypro.animals.hierarchy.Zemnovodnie; - -public final class Fog extends Zemnovodnie { - public Fog(String klichka, Integer numYears, String area) { - super(klichka, numYears, area); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/animals/zemnovodnie/Uzh.java b/src/ru/skypro/animals/zemnovodnie/Uzh.java deleted file mode 100644 index df63535..0000000 --- a/src/ru/skypro/animals/zemnovodnie/Uzh.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.skypro.animals.zemnovodnie; - -import ru.skypro.animals.hierarchy.Zemnovodnie; - -public final class Uzh extends Zemnovodnie { - public Uzh(String klichka, Integer numYears, String area) { - super(klichka, numYears, area); - } - - @Override - protected void hunt() { - - } -} diff --git a/src/ru/skypro/transport/Transport.java b/src/ru/skypro/transport/Transport.java index 920d470..695e3cc 100644 --- a/src/ru/skypro/transport/Transport.java +++ b/src/ru/skypro/transport/Transport.java @@ -3,8 +3,8 @@ public abstract class Transport { private String brand; private String model; - private Integer productionYear; - private String productionCountry; + private final Integer productionYear; + private final String productionCountry; private String color; private Integer maxSpeed; @@ -56,18 +56,18 @@ public Integer getMaxSpeed() { } public void setBrand(String brand) { - this.brand = brand; + this.brand = brand == null || brand.equals("") ? "default" : brand; } public void setModel(String model) { - this.model = model; + this.model = model == null || model.equals("") ? "default" : model; } public void setColor(String color) { - this.color = color; + this.color = color == null || color.equals("") ? "белый" : color; } public void setMaxSpeed(Integer maxSpeed) { - this.maxSpeed = maxSpeed; + this.maxSpeed = maxSpeed == null || maxSpeed < 0 ? 0 : maxSpeed; } } From 0eebccb314c3da6f103b8f8f7911eccb640bb567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sun, 23 Oct 2022 13:44:20 +0300 Subject: [PATCH 11/11] fixes 2 --- src/ru/skypro/animals/hierarchy/Animal.java | 14 ++++++++++++++ src/ru/skypro/animals/hierarchy/Birds.java | 15 +++++++++++++++ src/ru/skypro/animals/hierarchy/Flying.java | 5 +++-- src/ru/skypro/animals/hierarchy/Hischniki.java | 5 +++-- .../skypro/animals/hierarchy/Mlekopitaushie.java | 15 +++++++++++++++ src/ru/skypro/animals/hierarchy/NoFlying.java | 6 +++--- src/ru/skypro/animals/hierarchy/Travoyadnie.java | 7 ++++--- src/ru/skypro/animals/hierarchy/Zemnovodnie.java | 7 ++++--- 8 files changed, 61 insertions(+), 13 deletions(-) diff --git a/src/ru/skypro/animals/hierarchy/Animal.java b/src/ru/skypro/animals/hierarchy/Animal.java index e2aaa32..04061d2 100644 --- a/src/ru/skypro/animals/hierarchy/Animal.java +++ b/src/ru/skypro/animals/hierarchy/Animal.java @@ -2,6 +2,8 @@ import ru.skypro.animals.Main; +import java.util.Objects; + abstract class Animal { private String klichka; private Integer numYears; @@ -37,4 +39,16 @@ public Integer getNumYears() { public void setNumYears(Integer numYears) { this.numYears = numYears; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Animal animal)) return false; + return getKlichka().equals(animal.getKlichka()) && getNumYears().equals(animal.getNumYears()); + } + + @Override + public int hashCode() { + return Objects.hash(getKlichka(), getNumYears()); + } } diff --git a/src/ru/skypro/animals/hierarchy/Birds.java b/src/ru/skypro/animals/hierarchy/Birds.java index a475e7b..78bd990 100644 --- a/src/ru/skypro/animals/hierarchy/Birds.java +++ b/src/ru/skypro/animals/hierarchy/Birds.java @@ -2,6 +2,8 @@ import ru.skypro.animals.Main; +import java.util.Objects; + abstract class Birds extends Animal{ private String area; @@ -40,4 +42,17 @@ protected void go() { protected void sleep() { } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Birds birds)) return false; + if (!super.equals(o)) return false; + return Objects.equals(getArea(), birds.getArea()); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), getArea()); + } } diff --git a/src/ru/skypro/animals/hierarchy/Flying.java b/src/ru/skypro/animals/hierarchy/Flying.java index 9971100..45b41b8 100644 --- a/src/ru/skypro/animals/hierarchy/Flying.java +++ b/src/ru/skypro/animals/hierarchy/Flying.java @@ -44,11 +44,12 @@ protected void eat() { public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Flying flying)) return false; - return Objects.equals(getKlichka(), flying.getKlichka()); + if (!super.equals(o)) return false; + return Objects.equals(getMoveType(), flying.getMoveType()); } @Override public int hashCode() { - return Objects.hash(getKlichka()); + return Objects.hash(super.hashCode(), getMoveType()); } } diff --git a/src/ru/skypro/animals/hierarchy/Hischniki.java b/src/ru/skypro/animals/hierarchy/Hischniki.java index 8ada293..42319cf 100644 --- a/src/ru/skypro/animals/hierarchy/Hischniki.java +++ b/src/ru/skypro/animals/hierarchy/Hischniki.java @@ -42,11 +42,12 @@ protected void eat() { public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Hischniki hischniki)) return false; - return Objects.equals(getKlichka(), hischniki.getKlichka()); + if (!super.equals(o)) return false; + return Objects.equals(getTypeOfPisha(), hischniki.getTypeOfPisha()); } @Override public int hashCode() { - return Objects.hash(getKlichka()); + return Objects.hash(super.hashCode(), getTypeOfPisha()); } } diff --git a/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java b/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java index 37fdd17..f978727 100644 --- a/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java +++ b/src/ru/skypro/animals/hierarchy/Mlekopitaushie.java @@ -2,6 +2,8 @@ import ru.skypro.animals.Main; +import java.util.Objects; + abstract class Mlekopitaushie extends Animal{ private String area; private Integer speed; @@ -52,4 +54,17 @@ protected void sleep() { protected void go() { } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Mlekopitaushie that)) return false; + if (!super.equals(o)) return false; + return Objects.equals(getArea(), that.getArea()) && Objects.equals(getSpeed(), that.getSpeed()); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), getArea(), getSpeed()); + } } diff --git a/src/ru/skypro/animals/hierarchy/NoFlying.java b/src/ru/skypro/animals/hierarchy/NoFlying.java index d43240e..1263a0f 100644 --- a/src/ru/skypro/animals/hierarchy/NoFlying.java +++ b/src/ru/skypro/animals/hierarchy/NoFlying.java @@ -38,16 +38,16 @@ protected void eat() { super.eat(); } - @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof NoFlying noFlying)) return false; - return Objects.equals(getKlichka(), noFlying.getKlichka()); + if (!super.equals(o)) return false; + return Objects.equals(getMoveType(), noFlying.getMoveType()); } @Override public int hashCode() { - return Objects.hash(getKlichka()); + return Objects.hash(super.hashCode(), getMoveType()); } } diff --git a/src/ru/skypro/animals/hierarchy/Travoyadnie.java b/src/ru/skypro/animals/hierarchy/Travoyadnie.java index c6eea90..b07948b 100644 --- a/src/ru/skypro/animals/hierarchy/Travoyadnie.java +++ b/src/ru/skypro/animals/hierarchy/Travoyadnie.java @@ -41,12 +41,13 @@ protected void eat() { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof Travoyadnie travoyadnie)) return false; - return Objects.equals(getKlichka(), travoyadnie.getKlichka()); + if (!(o instanceof Travoyadnie that)) return false; + if (!super.equals(o)) return false; + return Objects.equals(getTypeOfPisha(), that.getTypeOfPisha()); } @Override public int hashCode() { - return Objects.hash(getKlichka()); + return Objects.hash(super.hashCode(), getTypeOfPisha()); } } diff --git a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java index 38df09a..c50b97a 100644 --- a/src/ru/skypro/animals/hierarchy/Zemnovodnie.java +++ b/src/ru/skypro/animals/hierarchy/Zemnovodnie.java @@ -45,12 +45,13 @@ protected void sleep() { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof Zemnovodnie zemnovodnie)) return false; - return Objects.equals(getKlichka(), zemnovodnie.getKlichka()); + if (!(o instanceof Zemnovodnie that)) return false; + if (!super.equals(o)) return false; + return Objects.equals(getArea(), that.getArea()); } @Override public int hashCode() { - return Objects.hash(getKlichka()); + return Objects.hash(super.hashCode(), getArea()); } }