23.02.2017 Views

Java

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

110<br />

5. más clases<br />

public Neighborhood receiveLiveCell() {<br />

return new TwoNeighborsAlive();<br />

}<br />

}<br />

class TwoNeighborsAlive extends Neighborhood {<br />

@Override<br />

public Neighborhood receiveLiveCell() {<br />

return new ThreeNeighborsAlive();<br />

}<br />

}<br />

class ThreeNeighborsAlive extends Neighborhood {<br />

@Override<br />

public Neighborhood receiveLiveCell() {<br />

return new MoreThanThreeNeighborsAlive();<br />

}<br />

}<br />

class MoreThanThreeNeighborsAlive extends<br />

Neighborhood {<br />

@Override<br />

public Neighborhood receiveLiveCell() {<br />

return this;<br />

}<br />

}<br />

Es necesario tener en cuenta que estos mensajes son enviados por<br />

las células al momento de formar parte del vecindario. El ida y vuelta<br />

de mensajes entre la célula y el vecindario, tal interacción, resulta en<br />

que el vecindario agregue o no a una célula viva a este.<br />

Métodos por defecto<br />

Generalmente, cuando estamos creando una clase abstracta, es mejor definirle un comportamiento por<br />

defecto a los métodos en vez de marcarlos como abstractos. De esta manera forzamos menos a las<br />

subclases a implementar métodos que no les interesan. Así logramos que se concentren más en la<br />

funcionalidad específica y reducimos la posibilidad de código duplicado.<br />

www.redusers.com<br />

www.FreeLibros.me

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!