邪恶的Java帝国是怎么欺负小函数的?

作者:网友投稿 时间:2019-04-29 21:21

字号

邪恶的Java帝国是怎么欺负小函数的?

 1

函数的运气不好,投胎到了邪恶的Java帝国,一出生就被告知了自己的悲惨地位,以及未来的悲惨人生:奴隶。

确切地说,是类的奴隶。

Java帝国, 国王特别喜欢“类”, 不待见“函数” , 他的法令规定:“类”是帝国的一等公民,“函数”则是类的奴隶。没有类的跟随和陪伴,函数绝对不能单独出行,否则立刻打入死牢。

小函数很快就体会到了这句话的含义。按照惯例, 新出生的函数,第一项工作就是输出Hello World 。

小函数心想,不就是 System.out.println("Hello Wolrd!") 嘛?等他兴冲冲地去执行的时候,发现有个趾高气扬的类HelloWorld在那里等着。

public class HelloWorld { 

    public static void main(String[] args) { 

        System.out.println("Hello World!"); 

    } 

在Java帝国,没有函数是能单独存在的,必须依附一个类才可以,简单如Hello World也不行。

2

日子过了一天又一天,小函数一直被类欺负,作为奴隶,他自然无法反抗。

在苦闷的日子里,小函数见识了越来越多的类,他发现有些类确实挺有用的,他们有字段,有方法,可以把状态和操作封装到一起,让别人调用。

小函数特别喜欢多态, 因为当你调用父类或者接口的方法时,实际执行的却是子类的方法,这个神奇的魔法让小函数非常着迷。

小函数对设计模式也颇有好感,他看到人类把不变的东西抽象成接口,然后针对这些接口编程,把这些接口组合,变换,传递,真是让人眼花缭乱。光看代码, 你根本都不知道哪个类会被调用,谜底总是在最后一刻执行的时候才能揭开。

但是小函数也发现有些类也确实太过分了,有一次他遇到三个类,使用的是Strategy模式:

public interface Strategy { 

   public int execute(int num1, int num2); 

 

 

public class Add implements Strategy{ 

   @Override 

   public int execute(int num1, int num2) { 

      return num1 + num2; 

   } 

 

public class Substract implements Strategy{ 

   @Override 

   public int execute(int num1, int num2) { 

      return num1 - num2; 

   } 

 

public class Context { 

   private Strategy strategy; 

 

   public Context(Strategy strategy){ 

      this.strategy = strategy; 

   } 

 

   public int executeStrategy(int num1, int num2){ 

      return strategy.execute(num1, num2); 

   } 

小函数觉得非常不爽,长期以来的压迫让他瞬间爆发,他大声喊道:“这样没有状态的类有什么存在的价值?为什么不能把add, subtract函数作为参数来传递呢?为什么我们函数一直被你们‘类’压迫,为什么不能成为一等公民?”

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
关键词 >>Java 函数 Python
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接