Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.33 KB | None | 0 0
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         Animal[] a = {
  4.                 new Cat("Барски","Чёрный"),
  5.                 new Dog("Тузик","Белый",10.0f),
  6.                 new Dog("Мухтар","Коричневый",10.0f)
  7.         };
  8.         a[2].setDistanceMax(1000);
  9.         a[2].setHeightMax(3);
  10.         ((Dog)a[2]).setDistanceMaxSwing(5.0f);
  11.         for (int i = 0; i < a.length; i++){
  12.             System.out.println("------------------------");
  13.             if (a[i] instanceof Cat)
  14.                 System.out.print("Кот: ");
  15.             else System.out.print("Собака: ");
  16.             System.out.println(a[i].getName() + ";\nЦвет: " + a[i].getColor()
  17.              + ";\nМаксимальная дистанция бега: " + a[i].getDistanceMaxRun()
  18.              + " м;\nМаксимальная дистанция плаванья: " + a[i].getDistanceSwing()
  19.              + " м;\nМаксимальная дистанция прыжка: " + a[i].getHeightMax() + " м");
  20.         }
  21.         for (int i = 0; i < a.length; i++){
  22.             System.out.println("------------------------");
  23.             System.out.println(a[i].getName() + " бег: " + a[i].run(750));
  24.             System.out.println(a[i].getName() + " прыжки: " + a[i].jump(1.5f));
  25.             System.out.println(a[i].getName() + " плаванье: " + a[i].swing(7));
  26.         }
  27.     }
  28. }
  29.  
  30.  
  31. public abstract class Animal {
  32.  
  33.     protected String name;
  34.     protected String color;
  35.     protected float distanceMaxRun;
  36.     protected float heightMax;
  37.  
  38.  
  39.     Animal(String name, String color, float distanceMaxRun, float heightMax){
  40.         this.name = name;
  41.         this.color = color;
  42.         this.distanceMaxRun = distanceMaxRun;
  43.         this.heightMax = heightMax;
  44.     }
  45.     boolean run(float distanceRun){return this.distanceMaxRun >= distanceRun;}
  46.     boolean jump(float heightJump){return this.heightMax >= heightJump;}
  47.  
  48.     abstract boolean swing(float distanceSwing);
  49.     abstract float getDistanceSwing();
  50.  
  51.     void setDistanceMax(float distanceMaxRun){
  52.         this.distanceMaxRun = distanceMaxRun;
  53.     }
  54.     void setHeightMax(float heightMax){
  55.         this.heightMax = heightMax;
  56.     }
  57.  
  58.     String getName(){
  59.         return this.name;
  60.     }
  61.     String getColor(){
  62.         return this.color;
  63.     }
  64.     float getDistanceMaxRun(){
  65.         return this.distanceMaxRun;
  66.     }
  67.     float getHeightMax(){
  68.         return this.heightMax;
  69.     }
  70. }
  71.  
  72.  
  73. public class Cat extends Animal {
  74.     protected final float DISTANCE_SWING = 0;
  75.     Cat (String name, String color){
  76.         super(name,color,200,2);
  77.     }
  78.     @Override
  79.     float getDistanceSwing(){
  80.         return DISTANCE_SWING;
  81.     }
  82.     @Override
  83.     boolean swing(float distanceSwing) {
  84.         return false;
  85.     }
  86. }
  87.  
  88.  
  89. public class Dog extends Animal {
  90.     private float distanceMaxSwing;
  91.     Dog (String name, String color, float distanceMaxSwing ){
  92.         super(name,color,500,0.5f);
  93.         this.distanceMaxSwing = distanceMaxSwing;
  94.     }
  95.     void setDistanceMaxSwing(float distanceMaxSwing) {this.distanceMaxSwing = distanceMaxSwing; }
  96.     @Override
  97.     float getDistanceSwing(){
  98.         return distanceMaxSwing;
  99.     }
  100.     @Override
  101.     boolean swing(float distanceSwing) {return (this.distanceMaxSwing >= distanceSwing);}
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement