Advertisement
fatimacasau

Operator Overloading

Feb 5th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 1.94 KB | None | 0 0
  1. // Clase Java
  2.  
  3. package es.fatimacasau.overloading.java;
  4.  
  5. import java.util.*;
  6.  
  7. //Esta clase está en Java
  8.  
  9. public class SoporteGroovy implements Iterable<Object> {
  10.  
  11.     private ArrayList<Object> lista = new ArrayList<Object>();
  12.  
  13.     // Este metodo es para obtener un elemento de la lista
  14.     public Object getAt(int idx) {
  15.         System.out.println("Mostrando el elemento de la posición " + idx);
  16.         return lista.get(idx);
  17.     }
  18.  
  19.     // Este metodo es para modificar la lista
  20.     public void putAt(int idx, Object value) {
  21.         System.out.println("Insertando el elemento "+value+" en la posición "+idx);
  22.         lista.add(idx, value);
  23.     }
  24.  
  25.     // Este metodo es también para modificar la lista
  26.     public void leftShift(Object value) {
  27.         System.out.println("Añadiendo el elemento "+value+" a la lista");
  28.         lista.add(value);
  29.     }
  30.  
  31.     // Esto es para la sobrecarga de operadores
  32.     public SoporteGroovy plus(Object other) {
  33.         if (other != null) {
  34.             System.out.println("Sumando el elemento "+other+" a la lista");
  35.             lista.add(other);
  36.         }
  37.         return this;
  38.     }
  39.  
  40.     @Override
  41.     public Iterator<Object> iterator() {
  42.         System.out.println("Iterator");
  43.         return lista.iterator();
  44.     }
  45. }
  46.  
  47. // Script Groovy
  48.  
  49.  
  50. package es.fatimacasau.overloading.groovy
  51.  
  52. import es.fatimacasau.overloading.java.*
  53.  
  54. println  "PutAt y getAt en java"
  55. SoporteGroovy testJava = new SoporteGroovy()
  56. testJava.putAt(0,"java")
  57. println testJava.getAt(0)
  58.  
  59. println "PutAt y getAt en Groovy"
  60. def testGroovy = new SoporteGroovy()
  61. testGroovy[0] = "groovy" // putAt()
  62. println testGroovy[0] // getAt()
  63.  
  64. println "LeftShift y plus en Java"
  65. testJava.leftShift("1")
  66. testJava.plus("2")
  67.  
  68. println "LeftShift y plus en Groovy"
  69. // En groovy
  70. testGroovy << "1"
  71. testGroovy += "2"
  72.  
  73. println "Iteración en Java"
  74.  
  75. def itr = testJava.iterator()
  76. while(itr.hasNext()) {
  77.     Object element = itr.next();
  78.     System.out.print(element + " ");
  79. }
  80. println ""
  81. println "Iteración en Groovy"
  82.  
  83. testGroovy.each{i ->
  84.     print "$i "
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement