Inicio > Java > Clases y Objetos – Java

Clases y Objetos – Java


Clases y Objetos

Que es la Programación Orientada a Objetos

La programación orientada a objetos (POO) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos.

Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento.

Objeto
Un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa.

También a un nivel más básico se define como la instancia de una clase
Los objetos tiene principalmente 3 características un estado (datos, atributos), un comportamiento (que es lo que va a poder hacer el Objeto) y una identidad (es lo que va a distinguir este objeto de cualquier otro )

Abstracción
Consiste en abstraer conceptualmente los atributos y comportamiento (métodos) comunes a un determinado conjunto de objetos y almacenarlos en una clase.

Encapsulamiento
El encapsulamiento es el principio por el cual se ocultan los detalles de implementación al usuario.
Cada clase tiene dos partes:
• El Interfaz es la parte pública con la que interactúa el usuario (métodos públicos)
• La Implementación es el código que realiza todas las operaciones de la clase (métodos privados) prívate, protected, public.

Herencia
La herencia permite crear una clase nueva (subclase o clase derivada) que tenga el mismo comportamiento que otra (superclase o clase base) y además extienda o adapte ese comportamiento a unas necesidades específicas.
La nueva subclase heredará los atributos y los métodos de la clase base, los cuales se añadirán a los definidos en la propia subclase.


Polimorfismo
El Polimorfismo es la respuesta distinta frente a una llamada a un método dependiendo de la naturaleza del objeto.
Consiste en definir métodos distintos, que comparten el mismo nombre, pero que se aplican a clases diferentes.
Por ejemplo, un método llamado breathe puede responder de manera distinta dependiendo de quien lo invoque:

class animal
{
   public void respirar()
{
System.out.println(“Respirar…”);
}
}

class pez extends animal
{
public void respirar ()
{
System.out.println(“Burbujear…”);
}
}

Si se invoca el método respirar desde un objeto-perro, imprimirá en pantalla “Respirar…”, pero si es invocado desde un objeto-trucha, imprimirá en pantalla “Burbujear…”.

Ejemplo :

Creamos un proyecto que se llame clasesyobjetos

Creamos una clase llamada clasesyobjetos

Creamos otra clase llamada Humano

En la clase Humano le creamos sus atributos y los SET y GET

public class Humano {
// Declaracion de los atributos
 private int edad;
private int peso;
private String nombre;
// Creamos el constructor del Objeto
public Humano(int edad, int peso,String nombre){
this.edad = edad;
this.peso = peso;
this.nombre = nombre;
}
// Definimos un metodo set para el atributo edad
public void setEdad(int edad){
this.edad = edad;
}
// Definimos un metodo get para leer los datos de la clase
public int getEdad(){
return edad;
}
public int getPeso(){
return peso;
}
public String getNombre(){
return nombre;
}
}

Ahora le ingresamos el siguiente código en la clase clasesyobjetos

public class clasesyobjetos {
public static void main(String[] args) {
// Creamos el objeto objHumano
Humano objHumano = new Humano(35,75,”RAHSuarez“);
System.out.println(“Mi nombre es : ” + objHumano.getNombre().toUpperCase());
System.out.println(“Mi edad es : ” + objHumano.getEdad());
System.out.println(“Mi peso es : ” + objHumano.getPeso());
 // Cambiamos la edad
objHumano.setEdad(38);
System.out.println(“Mi edad modifica es : ” + objHumano.getEdad());
}
}

Un ejemplo de polimorfismo

Creamos un proyecto llamado Polimorfismo

Creamos una clase llamada Polimorfismo

Creamos una clase llamada Vehículo

En la clase Vehiculo escribimos el siguiente código

public class Vehiculo {
// Declaramos las
private String color;
   private int puertas;
private int asientos;
// Declaramos el constructor
public Vehiculo (String color, int puertas, int asientos) {
this.color = color;
this.puertas = puertas;
this.asientos = asientos;
}
 // Declaramos el segundo constructor que no recibe parametros
public Vehiculo () {
this.color = “Amarillo“;
this.puertas = 4;
this.asientos = 3;
}
public String getColor(){
return this.color;
}
public int getPuertas(){
return this.puertas;
}
    public int getAsientos(){
return this.asientos;
}
}

Ingresamos el siguiente código a la case llamada Polimorfismo

public class Polimorfismo {
public static void main(String[] args) {
 // Creamos los 2 objetos Vehiculo
Vehiculo obgVehiculo1 = new Vehiculo(“Rojo”,2,3);
Vehiculo obgVehiculo2 = new Vehiculo();
 // Mostramos los datos para ambos objetos
System.out.println(“Color Vehiculo1 : ” + obgVehiculo1.getColor());
System.out.println(“Puertas Vehiculo1 : ” + obgVehiculo1.getPuertas());
System.out.println(“Asientos Vehiculo1 : ” + obgVehiculo1.getAsientos());
System.out.println();
System.out.println(“Color Vehiculo2 : ” + obgVehiculo2.getColor());
System.out.println(“Puertas Vehiculo2 : ” + obgVehiculo2.getPuertas());
System.out.println(“Asientos Vehiculo2 : ” + obgVehiculo2.getAsientos());
}
}

Un ejemplo de herencia y encapsulamiento
Creamos un proyecto llamado herenciaencapsulamiento

Creamos una clase llamada herenciaencapsulamiento

Creamos una clase llamada Vehículo

Le agregamos el siguiente código

public class Vehiculo {
// Declaramos los atributos
protected String color;
 protected int puertas;
 protected int asientos;
protected String marca;

public String getColor(){
        return this.color;
}
    public int getPuertas(){
     return this.puertas;
}
    public int getAsientos(){
 return this.asientos;
}
public String getMarca(){
return this.marca;
}
}

Creamos una clase llamada Auto

Se ingresa el siguiente código a la clase

public class Auto extends Vehiculo {
// Creamos un constructor
public Auto(){
this.marca = “Mazda“;
this.asientos = 4;
this.color = “Amarillo“;
}
}

Creamos una clase llamada Camion

Le ingresamos el siguiente código

public class Camion extends Vehiculo {
// Creamos un constructor
public Camion(){
this.marca = “Volvo“;
this.asientos = 2;
this.color = “Rojo“;
}
}

Le ingresamos el siguiente código a clase llamada herenciaencapsulamiento y vemos el resultado

public class herenciaencapsulamiento {
public static void main(String[] args) {
Auto objAuto = new Auto();
Camion objCamion = new Camion();

System.out.println(“Datos del Auto“);
System.out.println(“La marca es : ” + objAuto.marca);
System.out.println(“Nro. asientos es : ” + objAuto.asientos);
System.out.println(“El color es : ” + objAuto.color + “\n”);

System.out.println(“Datos del Camion“);
System.out.println(“La marca es : ” + objCamion.marca);
System.out.println(“Nro. asientos es : ” + objCamion.asientos);
System.out.println(“El color es : ” + objCamion.color);
}
}

 

Categorías:Java
  1. Aún no hay comentarios.
  1. No trackbacks yet.

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

A %d blogueros les gusta esto: