JAVA
java_추상 클래스(실습예제)_22.06.13(day15)
양빵빵
2022. 6. 13. 16:59
======= 아래는 선생님이 풀이해주신 답안========
package com.kh.practice3.model.vo;
public abstract class Animal {
private String name;
private String kinds;
protected Animal() {
}
protected Animal(String name, String kinds) {
this.name = name;
this.kinds = kinds;
}
public abstract void speak();
@Override
public String toString() {
return String.format("저의 이름은 %s이고, 종류는 %s입니다.", name, kinds);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getKinds() {
return kinds;
}
public void setKinds(String kinds) {
this.kinds = kinds;
}
}
package com.kh.practice3.model.vo;
public class Dog extends Animal {
private int weight;
public static final String PLACE;
static {
PLACE = "애견카페";
}
public Dog() {
}
public Dog(String name, String kinds, int weight) {
super(name, kinds);
this.weight = weight;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
@Override
public void speak() {
System.out.printf("%s 몸무게는 %dkg입니다.\n", super.toString(), weight);
}
}
package com.kh.practice3.model.vo;
public class Cat extends Animal {
private String location;
private String color;
public Cat() {
}
public Cat(String name, String kinds, String location, String color) {
super(name, kinds);
this.location = location;
this.color = color;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
@Override
public void speak() {
System.out.printf("%s %s에 서식하며, 색상은 %s입니다.\n", super.toString(), location, color);
}
}
package com.kh.practice3.controller;
import com.kh.practice3.model.vo.Animal;
import com.kh.practice3.model.vo.Cat;
import com.kh.practice3.model.vo.Dog;
public class AnimalManager {
public static void main(String[] args) {
Animal[] animals = new Animal[5];
animals[0] = new Dog("뽀삐", "푸들", 3);
animals[1] = new Cat("나비", "코숏", "서울시 중구", "노랑색");
animals[2] = new Cat("냥냥이", "러시안블루", "서울시 강서구", "회색");
animals[3] = new Dog("불도긔", "불독", 5);
animals[4] = new Dog("치치", "치와와", 2);
for (Animal a : animals) {
a.speak();
}
}
}