top of page

Fundamentos de la POO (Programación Orientada a Objetos)

     Bienvenidos al primer bloque de la programación orientada a objetos en java con NetBeans, como ya sabeis java es un lenguaje de programación orientada específicamente a objetos y en java los programas e estructuran así:

 

Clases > Objetos > Métodos > Atributos > Declaraciones > Expresiones > Operaciones

 

Lo primero que debemos de saber es que la programación orientada a objetos imita al mundo físico de este modo podemos utilizar como ejemplo un equipo de música, digamos que tenemos:

 

un subwoofer

un reproductor

una radio

unos altavoces

 

     Pues todo esto lo podemos conectar teniendo los correspondientes conectores para poder formar un equipo de musica completo, en este caso cada uno de los elementos sería un objeto y el reproductor de música sería nuestra aplicación, las clases son en lo que se organizan los programas en java, cada objeto que creamos lo creamos a partir de una clase que son unas especies de plantillas con una serie de atributos y métodos que nos permite crear objetos de la misma clase. Para entender mejor que es una clase tenemos el ejemplo del caballo, por ejemplo, nosotros por qué sabemos que un caballo es un caballo y no es por ejemplo un camello, pues simplemente porque posee unas características determinadas que son lo que lo hacen ser un caballo, pues eso es lo que le pasa a los objetos que creamos a partir de una clase, que poseen las mismas características que la clase original.

 

     Para crear una clase nos tenemos que basar en dos cosas, en los comportamientos y en los atributos, el comportaminto es como se va a comportar el objeto y los atributos son, bueno, los atributos que va a tener el objeto en cuestión, por ejemplo, en el caso de un jugador de Rudbi los atributos serían la altura, el peso, la edad y la velocidad, y dependiendo de esos factores nosotros que seriamos el entrenador del equipo, debemos de elegir el comportamiento que va a tenerr el jugador, es decir, en este caso en que posición va a jugar si va a correr, patear, placar, interceptar, etc..

 

     Y ademas estas clases pueden crear dependencias entre si, dando lugar a lo que se conoce en programación orientada a objetos como Herencias lo que puede provocar que una clase tome las caracteristicas y atributos de otra clase ya existente, que a esto es lo que se define como herencias, estos puntos son fundamentales para poder entender que es y como funciona la programación orientada a objetos.

 

     Ademas, las clases se pueden enlazar entre si atraves de paquetes e interfaces que esto es lo que puede dar lugar el pasar de objetos simples a auténticos programas muy complejos, recuerda el equipo de música que habiamos visto antes, en aquel ejemplo las clases serían cada uno de los elementos, es decir, el reproductor, los altavoces, la radio y el subwoofer y la aplicación entera sería el aparato de música que como podemos observar, cada uno de los elementos estarían enlazados entre si para poder crear un programa complejo, en este caso, el equipo de música.

.

 

NOTA: varios objetos creados a partir de una misma clase poseen características similares.

 

 

NOTA: el proceso mediante el cual se crean objetos a partir de una clase se llama instanciación, y por lo tanto un objeto en java se denomina tambien con el nombre de instancia.

 

 

NOTA: un paquete es un conjunto de clases agrupadas según sus características.

 

 

     En el ejemplo que realizaremos posteriormente utilizaremos el ejemplo de un robot espacial para realizar una simulación de un robot con algunas funcionalidades que como atributos tendra 3; Estatus, Temperatura y Velocidad. En una clase los atributos están difinidos por unas variables, para esto existen dos tipos de variables, las variables de clase o las de instancia, una variable de instancia va a tener valores diferentes en cada uno de los objetos (instancia), estas variables tambien se pueden definir como variables de objeto, en este caso como en nuestro robot estas caracteristicas van a variar entre un objeto y otro, estas deben ser variables de instancia y las variables de clase son las que se definen para cada clase, un ejemplo de variable de clase puede ser por ejemplo una variable que mostrase el tiempo por ejemplo.

 

Las clases, aparte de atributos tambien poseen comportamientos, las cosas que una clase de objetos puede hacer, pueden ser usadopara cambiar la información de otros objetos, mandar mensajes a otros objetos, etc...

 

Lo que primero vamos a hacer va a ser crear na clase desde cero y utilizar los metodos de esteen nuestro robot, primero vamos a crear un nuevo proyecto, y creamos un nuevo archivo de java vacio (Empty Java File) y le ponemos de nombre Dante Robot por ejemplo, primero hay que crear la clase como llevamos haciendo desde principio de curso, y nuestro programa constará de tres atributos, que serán tres variables instancia y por dos comportamientos que serán dos metodos instancia.

 

Creamos las tres variables estatus, velocidad y temperatura, ahora tenemos que declarar los metodos, primero crearemos el método comprobarTemperatura y dentro un condicional if, lo que hace este metodo es comprobar si la temperatura es mayor que 660, y si es mayor que cambie el estatus por volviendo a casa y la velocidad a 5, y luego el segundo método llamado mostrarAtributos que simplemente mostrará los valores en pantalla con una pequeña explicación de a que equivale cda valor, y lo guardamos.

 

class DanteRobot {
    String estatus;
    int velocidad;
    float temperatura;
    
    //metodo de instancia
    void comprobarTemperatura () {
        if (temperatura > 660) {
            estatus = "volviendo a casa";
            velocidad = 5;
        }
    }
    void mostrarAtributos() {   
        System.out.println("Estatus " + estatus);
        System.out.println("velocidad " + velocidad);
        System.out.println("Temperatura " + temperatura);
    }
}

 

Ahora vamos a crear un nuevo archivo de java vacio, creamos como siempre la clase, y ahora si en la linea dos llamamos al metodo main y dentro del metodo main ahora i podemos empezar a escribir, ahora vamos a usar la clase DanteRobor como plantilla para crear un nuevo objeto de esa clase, con el código que aqui vemos DanteRobot dante = new DanteRobot(); el tipo de contenido es de la clase DanteRobot, colocamos el nombre del objeto, en este caso dante y le decimos que es un nuevo objeto de la clase DanteRobot.

 

Ahora tenemos que darle un valor a las variables de la clase DanteRobot. Para poder utilizaratributos y los metodos de una clase, se utiliza poniendo en nombre del objeto, un punto y el nombre de la variable.

 

class AplicacionRobot {
    public static void main (String [ ] arguments) {
        DanteRobot dante = new DanteRobot();
        dante.estatus = "explorando";
        dante.velocidad = 2;
        dante.temperatura = 510;
        
        //nos mostrará los atributos que tiene el robot
        dante.mostrarAtributos();
        
        //vamos modimicando el valor de la variable velocidad
        System.out.println("Incrementamos velocidad a 3.");
        dante.velocidad = 3;
        
        //nos mostrará los atributos que tiene el robot
        dante.mostrarAtributos();
        
        //vamos modimicando el valor de la variable temperatura
        System.out.println("La temperatura es de " + dante.temperatura + ".");
        dante.temperatura = 670;
        
        //nos mostrará los atributos que tiene el robot
        dante.mostrarAtributos();
        
        //utilizamos el metodo comprobartemperatura
        System.out.println("Coprobando la temperatura");
        dante.comprobarTemperatura();
        dante.mostrarAtributos();
    }
}

 

 

En el próximo tutorial veremos otro de los elementos claves, que son las herencias, los paquetes y las interfaces.

bottom of page