Animal_java

메소드 클래스 

package jsp0607;

public class Dog extends Animal {

	@Override
	public String eat() {
		
		return "멍멍";
	}
	
}

package jsp0607;

public class Cat extends Animal {

	@Override
	public String eat() {
		
		return "야옹";
	}

}

package jsp0607;

public class Pig extends Animal {

	@Override
	public String eat() {
		
		return "꿀꿀";
	}
	
	
}
부모

package jsp0607;

public class Animal {
	public String eat() {
		return "먹는다";
	}
}
Animal을 이용하는 클래스

package jsp0607;

public class Feed {
	public String feed(Animal animal) {
		return animal.eat();
		
	}
}

 

form_JSP

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="animalPerson.jsp">  
  <label for="animal">동물 선택</label>
  <select name="animal">
    <option selected>선택</option>
    <option value="dog" >개</option>
    <option value="cat">고양이</option>
    <option value="pig">돼지</option>
    <input type="submit">
  </select>
</form>
</body>
</html>

 

Person_JSP

<%@page import="jsp0607.Pig"%>
<%@page import="jsp0607.Dog"%>
<%@page import="jsp0607.Cat"%>
<%@page import="jsp0607.Animal"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="jsp0607.Feed" %>
<%
//전송된 동물 값(parameter)을 가져옴
String animal = request.getParameter("animal");
Feed feed = new Feed();
Animal animals;
Cat cat = new Cat();
Dog dog = new Dog();
Pig pig = new Pig();

%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% 
// 선택된 동물이 "dog"인지 확인
if(animal.equals("dog")){
	//feed.feed(dog)를 호출하여 Feed 클래스의 feed() 메서드를 실행
	//이 때, dog 객체를 인자로 전달
	
	%><%=feed.feed(dog) %><% 
}else if(animal.equals("cat")){
	%><%=feed.feed(cat) %><%
}else if(animal.equals("pig")){
	%><%=feed.feed(pig) %><%
}
%>
</body>
</html>

+ Recent posts