Programación Orientada a Objetos (Parte I) – Introducción

La programación orientada a objetos es un paradigma de programación en el cual hacemos una abstracción de la realidad.

Esta abstracción, se hace mediante una clase, la cual posee atributos (datos o características) y métodos (funciones). Para que se entienda mejor, les mostrare un ejemplo.
Supongamos tenemos un vehiculo, un vehiculo posee muchas características (color, peso, patente, velocidad etc) y también puede hacer muchas cosas (acelerar, frenar, virar, etc).  Toda esta abstracción se realiza en una sola estructura, nuestra clase vehiculo, donde manejamos todas estas cosas.
En este caso, nuestro objeto “vehiculo”  tiene atributos tales como color, peso, patente, velocidad, etc. además de los métodos acelerar, frenar, virar, etc.

Vamos a implementar una clase auto, la cual contiene como atributos: “velocidad y patente” y como métodos “acelerar y frenar”.

Veamos una implementación de esta clase “vehiculo” en java:


public class vehiculo {
String patente;
int velocidad;
public vehiculo(String patente, int velocidad) {
this.patente = patente;
this.velocidad = velocidad;
     }
     public void VerDatos()
     {
System.out.println("Patente: "+patente);
System.out.println("Velocidad: "+velocidad);
}
}

Como se puede ver, nuestra clase vehiculo tiene 2 tributos: una cadena de caracteres llamada patente y un entero que representa la velocidad, llamado velocidad, además de una función llamada VerDatos() que nos muestra los datos del vehículo.

Además notamos la presencia de una función llamada vehiculo, esta función se conoce como constructor, y es llamada cuando instanciamos una clase (una instancia de una clase se lleva a cabo cuando creamos o inicializamos un objeto de dicha clase). Lo que hace esta función, es que cuando se crea un objeto, recibe los parametros solicitados y hace las asignaciones que le indiquemos. En este caso, asigna la patente y la velocidad del vehículo. No es obligación incluir un constructor, pero la mayoría de las veces es muy útil.

Nota: Usamos la palabra reservada “this” para indicar que nos referimos a la variable correspondiente a nuestra clase.

Para instanciar esta clase, en el programa principal escribimos lo siguiente:


public static void main(String[] args) {
vehiculo mivehiculo = new vehiculo("AB1234",50);
mivehiculo.VerDatos();
 }

La salida de nuestro programa es la siguiente:

En el código de nuestro programa principal, notamos que para instanciar un objeto de la clase vehículo, se hizo:


vehiculo mivehiculo = new vehiculo("AB1234",50);

Primero va el nombre de la clase (vehiculo), seguida de el nombre de nuestro objeto (mivehiculo). Luego un signo =, seguida de la palabra reservada new, esta palabra, lo que hace es decirle al compilador que estamos instanciando un objeto. Luego viene el nombre de nuestra clase (en realidad, es el nombre del constructor, el cual es el mismo de nuestra clase como dijimos anteriormente) para indicarle que ejecute el constructor que creamos.

Nota: Si no hubiéramos creado un constructor, la instancia sería:

vehiculo mivehiculo = new vehiculo();

Lo cual nos dejaría nuestras variables con los valores predeterminados de java (Patente=nully Velocidad=0).

Y para acceder a una función, se hizo de la siguiente manera:

mivehiculo.VerDatos();

Notamos que se utilizo el nombre de nuestro objeto, seguido de un punto y seguido del nombre de la función.
Esta es la manera de acceder a las funciones de nuestras clases.
Además, podemos acceder a nuestros atributos cambiando el nombre del método por el nombre del atributo, por ejemplo:

    System.out.println("Velocidad: " + vehiculo.velocidad );

Lo cual nos produce esta salida:

Esto sería todo por ahora, en el siguiente capítulo se hablará de Encapsulamiento, Herencia y Polimorfismo.

Anuncios

2 pensamientos en “Programación Orientada a Objetos (Parte I) – Introducción

  1. Pingback: Programación Orientada a Objetos (Parte II) – Encapsulamiento, Herencia y Polimorfismo « Programacion, algoritmos y otros temas…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s