Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Java 5

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 20

PROGRAMACIÓN ORIENTADA A OBJETOS

(POO)

La programación orientada a objetos (POO) es


un paradigma de programación que usa objetos
para crear aplicaciones. Está basada en tres pilares
fundamentales: herencia, polimorfismo,
encapsulación. Su uso se popularizó a principios de
la década de 1990. En la actualidad, existe una gran
variedad de lenguajes de programación que
soportan la orientación a objetos, entre ellos Java.
VENTAJAS

• Fomenta la reutilización y ampliación del código.


• Permite crear sistemas más complejos.
• La programación se asemeja al mundo real.
• Agiliza el desarrollo de software.
• Facilita el trabajo en equipo.
• Lo interesante de la POO es que proporciona conceptos y herramientas con las
cuales se modela y representa el mundo real tan fielmente como sea posible.
Para entender este modelo vamos a revisar 2 conceptos fundamentales:
• clases
• objetos
LAS CLASES I

• En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por
ejemplo, nuestro teléfono móvil es sólo uno de los miles que hay en el mundo. Si
hablamos en términos de la programación orientada a objetos, podemos
decir que nuestro objeto móvil es una instancia de una clase conocida como
“móvil”. Los móviles tienen características (marca, modelo, sistema operativo,
pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar
mensajes multimedia, transmisión de datos, etc.).
LAS CLASES II

• Cuando se fabrican los móviles, los fabricantes aprovechan el hecho de que los
móviles comparten esas características comunes y construyen modelos o
plantillas comunes, para que a partir de esas se puedan crear muchos móviles
del mismo modelo. A ese modelo o plantilla le llamamos clase, y a los equipos
que sacamos a partir de ella la llamamos objetos.
• Esto mismo se aplica a los objetos de software, se puede tener muchos objetos
del mismo tipo y mismas características.
LAS CLASES III

• La clase es un modelo o prototipo que define las variables y métodos comunes


a todos los objetos de cierta clase. También se puede decir que una clase es una
plantilla genérica para un conjunto de objetos de similares características.
• Por otro lado, una instancia de una clase es otra forma de llamar a un objeto. En
realidad no existe diferencia entre un objeto y una instancia. Sólo que el objeto es
un término más general, pero los objetos y las instancias son ambas
representación de una clase.
LOS OBJETOS I

• Entender que es un objeto es la clave para entender cualquier lenguaje


orientado a objetos.
• Tomemos como ejemplo un ordenador. No necesitamos ser expertos para saber
que un ordenador está compuesta internamente por varios componentes: placa
base, procesador, disco duro, tarjeta de video, etc…
• El trabajo en conjunto de todos estos componentes hace funcionar un ordenador,
sin embargo no necesitamos saber cómo trabajan cada uno de estos
componentes. Cada componente es una unidad autónoma, y todo lo que
necesitamos saber es cómo interactúan entre sí los componentes, saber por
ejemplo si el procesador y las memorias son compatibles con la placa base, o
conocer donde se coloca la tarjeta de video. Cuando conocemos como
interaccionan los componentes entre sí, podremos armar fácilmente un
LOS OBJETOS II

• La programacion orientada a objetos trabaja de esta manera. Todo el programa


está construido en base a diferentes componentes (objetos), cada uno tiene un
rol específico en el programa y todos los componentes pueden comunicarse entre
ellos de formas predefinidas.
• Todo objeto del mundo real tiene 2 componentes: variables de clase y
métodos.
• Por ejemplo, los automóviles pueden tener como variables de clase (marca,
modelo, color, velocidad máxima, etc.) y como métodos (frenar, acelerar,
retroceder, llenar combustible, cambiar llantas, etc.).
LOS OBJETOS III

• Los objetos de Software, al igual que los objetos del mundo real, también tienen variables de
clase y métodos. Un objeto de software mantiene sus características en una o más “variables”,
e implementa su comportamiento con “métodos”. Un método es una función o subrutina
asociada a un objeto.
• Imaginemos que tenemos aparcado en el garaje un Ford Focus color azul que corre hasta 260
km/h. Si pasamos ese objeto del mundo real al mundo del software, tendremos un objeto
Automóvil con sus características predeterminadas:
• Marca = Ford
Modelo = Focus
Color = Azul
Velocidad Máxima = 260 km/h
• Por lo tanto dentro de una clase tendremos como variables de clase las características descritas
anteriormente y como métodos tendremos en este caso concreto (frenar, acelerar, retroceder,
llenar combustible, etc…).
EJEMPLO EN JAVA I

class Automovil {

// VARIABLES DE CLASE
private String marca;
private String modelo;
private String color;
private String velocidadMaxima;

// CONSTRUCTOR QUE INICIALIZA LAS VARIABLES DE


CLASE
public Automovil(String marca, String modelo, String
color, String velocidadMaxima) {
this.marca = marca;
this.modelo = modelo;
this.color = color;
this.velocidadMaxima = velocidadMaxima;
}
EJEMPLO EN JAVA II

// METODOS GETTER Y SETTER PARA PODER RECUPERAR


O CAMBIAR
// LOS DATOS DE LAS VARIABLES DE CLASE

public String getMarca() {


return marca;
}

public void setMarca(String marca) {


this.marca = marca;
}

public String getModelo() {


return modelo;
}
EJEMPLO EN JAVA III

public void setModelo(String modelo) {


this.modelo = modelo;
}

public String getColor() {


return color;
}

public void setColor(String color) {


this.color = color;
}

public String getVelocidadMaxima() {


return velocidadMaxima;
}

public void setVelocidadMaxima(String velocidadMaxima) {


this.velocidadMaxima = velocidadMaxima;
}
}
OTROS CONCEPTOS
DE LA PROGRAMACION
ORIENTADA A OBJETOS
ENCAPSULACIÓN
• La encapsulación consiste en unir en tener las variables de clase
declaradas como private para evitar que cuando instanciemos un
objeto podamos acceder a ellas (por seguridad). ¿Y entonces como
accedemos a los valores de esas variables de clase? Mediante los
métodos getter y setter que declaramos anteriormente.
HERENCIA
• La herencia es uno de los conceptos más cruciales en la POO. La herencia
consiste en que una clase puede heredar las variables y los métodos de
otra clase (la clase que hereda es llamada superclase o clase padre).
Esto significa que una subclase, aparte de los atributos y métodos propios,
tiene incorporados los atributos y métodos heredados de la superclase.
De esta manera se crea una jerarquía de herencia.
• Si partimos de la clase Automovil que creamos anteriormente podríamos
crear clases hijas de Automovil, la cuales heredarán todo lo que contenga
la clase Automovil.
¿COMO SE HEREDA EN
JAVA?
• Para crear herencia se usa la palabra reservada extends:

class Coche extends Automovil {

Como puedes ver en este caso estamos haciendo que la clase Coche herede de
la clase Automovil.
POLIMORFISMO
• El polimorfismo es la habilidad de una función, método, variable u
objeto de poseer varias formas distintas. Podríamos decir que un
mismo identificador comparte varios significados diferentes.
• El propósito del polimorfismo es implementar un estilo de
programación llamado envío de mensajes en el que los objetos
interactúan entre ellos mediante estos mensajes, que no son más que
llamadas a distintas funciones.
POLIMORFISMO
• Java tiene 4 grandes formas de polimorfismo:
• Polimorfismo de asignación
• Polimorfismo puro
• Sobrecarga
• Polimorfismo de inclusión
PRACTICA
propiedades métodos
Color=azul MostrarImagen
Encendido=si SubirVolumen
Volumen=30% BajarVolumen
Alto=9cm Apagar
Ancho=10cm Encender

También podría gustarte