Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main {
- public static void main(String[] args) {
- Animal[] a = {
- new Cat("Барски","Чёрный"),
- new Dog("Тузик","Белый",10.0f),
- new Dog("Мухтар","Коричневый",10.0f)
- };
- a[2].setDistanceMax(1000);
- a[2].setHeightMax(3);
- ((Dog)a[2]).setDistanceMaxSwing(5.0f);
- for (int i = 0; i < a.length; i++){
- System.out.println("------------------------");
- if (a[i] instanceof Cat)
- System.out.print("Кот: ");
- else System.out.print("Собака: ");
- System.out.println(a[i].getName() + ";\nЦвет: " + a[i].getColor()
- + ";\nМаксимальная дистанция бега: " + a[i].getDistanceMaxRun()
- + " м;\nМаксимальная дистанция плаванья: " + a[i].getDistanceSwing()
- + " м;\nМаксимальная дистанция прыжка: " + a[i].getHeightMax() + " м");
- }
- for (int i = 0; i < a.length; i++){
- System.out.println("------------------------");
- System.out.println(a[i].getName() + " бег: " + a[i].run(750));
- System.out.println(a[i].getName() + " прыжки: " + a[i].jump(1.5f));
- System.out.println(a[i].getName() + " плаванье: " + a[i].swing(7));
- }
- }
- }
- public abstract class Animal {
- protected String name;
- protected String color;
- protected float distanceMaxRun;
- protected float heightMax;
- Animal(String name, String color, float distanceMaxRun, float heightMax){
- this.name = name;
- this.color = color;
- this.distanceMaxRun = distanceMaxRun;
- this.heightMax = heightMax;
- }
- boolean run(float distanceRun){return this.distanceMaxRun >= distanceRun;}
- boolean jump(float heightJump){return this.heightMax >= heightJump;}
- abstract boolean swing(float distanceSwing);
- abstract float getDistanceSwing();
- void setDistanceMax(float distanceMaxRun){
- this.distanceMaxRun = distanceMaxRun;
- }
- void setHeightMax(float heightMax){
- this.heightMax = heightMax;
- }
- String getName(){
- return this.name;
- }
- String getColor(){
- return this.color;
- }
- float getDistanceMaxRun(){
- return this.distanceMaxRun;
- }
- float getHeightMax(){
- return this.heightMax;
- }
- }
- public class Cat extends Animal {
- protected final float DISTANCE_SWING = 0;
- Cat (String name, String color){
- super(name,color,200,2);
- }
- @Override
- float getDistanceSwing(){
- return DISTANCE_SWING;
- }
- @Override
- boolean swing(float distanceSwing) {
- return false;
- }
- }
- public class Dog extends Animal {
- private float distanceMaxSwing;
- Dog (String name, String color, float distanceMaxSwing ){
- super(name,color,500,0.5f);
- this.distanceMaxSwing = distanceMaxSwing;
- }
- void setDistanceMaxSwing(float distanceMaxSwing) {this.distanceMaxSwing = distanceMaxSwing; }
- @Override
- float getDistanceSwing(){
- return distanceMaxSwing;
- }
- @Override
- boolean swing(float distanceSwing) {return (this.distanceMaxSwing >= distanceSwing);}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement