Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0,1,1,2,3,5,8,13,21,34...
Fácil, ¿no?
Así sucesivamente, hasta el infinito. Por regla, la sucesión de Fibonacci se escribe así:
n = n-1 + n-2.
Recursividad
En palabras simples, la recursividad es cuando una función tiene la característica de poder
llamarse a sí misma dentro de sus instrucciones; gracias a esto, podemos utilizar a nuestro
favor la recursividad en lugar de la iteración para resolver determinados tipos de
problemas.
Clase Fibonacci
Bien, ahora que ya tenemos nuestra función Fibonacci, vamos hacer de esta sucesión una
clase para aprovechar al máximo el paradigma orientado a objetos que Java nos
proporciona.
Una clase es una instancia abstracta que define un tipo de objeto especificando qué
propiedades y operaciones disponibles va a tener. Una clase tiene atributos y métodos que
pertenecen al objeto. Para nuestro ejemplo tendremos los siguientes atributos y métodos.
Atributos
public int tamaño;
public String nombre;
Nombre: Para cada objeto que tengamos le asignaremos un nombre específico para poder
identificarla, este atributo será de tipo String que indica que es una cadena.
Tamaño: Cada sucesión tendrá un tamaño que indica cuántos elementos va a tener
nuestra sucesión, este atributo es un entero.
Métodos
Tendremos dos constructores, el constructor vacío y otro predefinido por nosotros
instanciando la clase pasandole valor a nuestros atributos.
public Fibonacci() {
}
Además de un método que nos permite imprimir la sucesión del tamaño que le
especificamos, y que hace uso de la función fibonacci recursiva.
Como cada clase agregamos sus respectivos métodos Getter and setter para los atributos
de la clase, NetBeans nos proporciona una opción que genera estos métodos
automáticamente.
Ya tenemos nuestra clase fibonacci lista, ahora desde el principal instanciamos esta clase
en dos objetos de manera diferente, pero podemos observar que el resultado será el
mismo.
Para el primer caso instanciamos la clase enviando los parámetros por el constructor y
luego llamando a su método para mostrar la serie.
En el segundo caso instanciamos la clase con el constructor vacío, y luego enviando los
parámetros por los métodos Setter, finalmente llamando a su método para mostrar la serie.