Programación Orientada a Objetos (Parte II) – Encapsulamiento, Herencia y Polimorfismo

Continuando con el post anterior sobre POO, procederemos a aclarar los términos de Encapsulación, Herencia y Polimorfismo.

Antes de ver estos temas, vamos a ver lo que se denomina Sobrecarga de operadores, lo que se refiere a la posibilidad de que tener una misma función, pero que se comporte de distinta manera dependiendo de los parámetros que le entreguemos, por ejemplo, nuestro constructor de la clase Vehiculo actualmente recibe como parámetro un String correspondiente a la patente, pero supongamos que no tenemos la patente, podemos crear otro constructor que no reciba parámetros y le asigne los valores que definamos nosotros a nuestro objeto, veamos un ejemplo de 4 constructores con distintos parámetros:


public Vehiculo(String patente, int velocidad) {
 this.patente = patente;
 this.velocidad = velocidad;
 }

public Vehiculo(int velocidad) {
 this.patente = "No asignada";
 this.velocidad = velocidad;
 }

public Vehiculo(String patente) {
 this.patente = patente;
 this.velocidad = 0;
 }

 public Vehiculo() {
 patente = "No asignada";
 velocidad = 0;
 }

Sigue leyendo

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: Sigue leyendo