[Java] 打球过程-模板方法 →→→→→进入此内容的聊天室

来自 , 2020-02-15, 写在 Java, 查看 207 次.
URL http://www.code666.cn/view/798ed7d4
  1. import java.util.Scanner;
  2. public class Main{
  3.     public static void main(String[] args) {
  4.          Scanner scan = new Scanner(System.in);
  5.          int n = scan.nextInt();
  6.          String s = scan.next();
  7.          if(n == 1) {
  8.                  BallMatch match = new FootballMatch(s);
  9.                  match.compete();
  10.          }
  11.          else if(n == 2) {
  12.                  BallMatch match = new BasketballMatch(s);
  13.                  match.compete();
  14.          }
  15.  
  16.          scan.close();  
  17.     }
  18. }  
  19.  
  20. abstract class BallMatch{
  21.         private String s;
  22.         public BallMatch(String _s) {
  23.                 s = _s;
  24.         }
  25.         public String getS() {
  26.                 return s;
  27.         }
  28.         public final void compete() {
  29.                 checkin();
  30.                 start();
  31.                 play();
  32.                 end();
  33.                 annouceResult();
  34.         }
  35.         private void checkin() {
  36.                 System.out.println("now checking in");
  37.         }
  38.         private void start() {
  39.                 System.out.println("now starting");
  40.         }
  41.        
  42.         private void end() {
  43.                 System.out.println("now ending");
  44.         }
  45.         public abstract void play();
  46.         public abstract void annouceResult();
  47. }
  48.  
  49. class FootballMatch extends BallMatch{
  50.         public FootballMatch(String _s) {
  51.                 super(_s);
  52.         }
  53.         public void play() {
  54.                 System.out.println("now playing football");
  55.         }
  56.         public void annouceResult() {
  57.                 System.out.println("now annoucing result: "+ super.getS());
  58.         }
  59. }
  60.  
  61. class BasketballMatch extends BallMatch{
  62.         public BasketballMatch(String _s) {
  63.                 super(_s);
  64.         }
  65.         public void play() {
  66.                 System.out.println("now playing basketball");
  67.         }
  68.         public void annouceResult() {
  69.                 System.out.print("now annoucing result: "+ super.getS());
  70.         }
  71. }

回复 "打球过程-模板方法"

这儿你可以回复上面这条便签

captcha