zoukankan      html  css  js  c++  java
  • Groovy's dynamic mixin

    我有个想法,一个类的行为是根据这个类的环境决定的。比如程序员在办公室可以写代码,在家还必须带孩子。

    用Groovy来实现

    1. Programer.groovy

    package art.groovy

    class Programer {

           String name;

    }

    2. ProgramerHomeMixin.groovy

    package art.groovy

    class ProgramerHomeMixin {

    def takeCareOfBaby = {

    println "I'm $name, I am taking care of my baby at home"

           }

    }

    3. ProgramerOfficeMixin.groovy

    package art.groovy

    class ProgramerOfficeMixin {

    def writeCode={

    println "I am $name, I am writing code in my office, don't disturb me"

           }

    }

    4. ProgrammerMixinTest.groovy

    package art.groovy;

    import groovy.util.GroovyTestCase;

    class ProgrammerMixinTest extends GroovyTestCase {

    private Programer programmer;

    void testBehaviorDependsOnContext(){

                  Programer.mixin  ProgramerOfficeMixin

    programmer = new Programer(name: "alex")

    programmer.writeCode()

           }

    void testBehaviorDependsOnContext2(){

                  Programer.mixin  ProgramerHomeMixin

    programmer = new Programer(name: "alex")

    programmer.takeCareOfBaby()

           }

    }

  • 相关阅读:
    MySQL 获得当前日期时间 函数
    Jquery 将表单序列化为Json对象
    Eclipse远程调试(远程服务器端监听)
    使用Eclipse进行远程调控
    Java基础教程(3)--回顾HelloWorld
    Java基础教程(2)--Java开发环境
    Java基础教程(1)--概述
    4.9上机
    4.2上机
    第四周作业
  • 原文地址:https://www.cnblogs.com/cando/p/2287161.html
Copyright © 2011-2022 走看看