zoukankan      html  css  js  c++  java
  • Java面向对象_抽象类应用——模板方法模式

    概念:定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。

    去个例子分析一下这个概念:

     1 public class Practice14 {
     2     
     3     public static void main(String[] args) {
     4         // TODO Auto-generated method stub
     5         //用父类的引用指向子类对象
     6         Games g=new Boy();
     7         g.play();
     8     }
     9 }
    10 //男孩类
    11 class Boy extends Games{
    12     public boolean result(){
    13         Random r=new Random();
    14         return r.nextBoolean();
    15     }
    16 }
    17 //模型类
    18 class ModelBoy extends Games{
    19     public boolean result(){
    20         return false;
    21     }
    22 }
    23 //抽象类
    24 abstract class Games{
    25     public void play(){
    26         System.out.println("游戏开始,请将手放在背后,出拳");
    27         System.out.println("结果:");
    28         if(result()){
    29             System.out.println("你赢了");    
    30         }else{
    31             System.out.println("你输了");
    32         }
    33     }
    34     public abstract boolean result();
    35 }

    以上代码中,play方法就是算法的骨架,result()方法就是可变的。

  • 相关阅读:
    最好的我们
    外滩
    外滩
    Java EE (5) -- Java EE 6 JavaServer Faces Developer Certified Expert(1z0-896)
    列表list(序列)、元组tuple(序列)
    P1165 日志分析 洛谷
    T1365 浴火银河星际跳跃 codevs
    T1503 愚蠢的宠物 codevs
    P2820 局域网 洛谷
    T1992 聚会 codevs
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/5069277.html
Copyright © 2011-2022 走看看