PDF de programación - Curso de Programación en Java - Programación orientada a objetos

Imágen de pdf Curso de Programación en Java - Programación orientada a objetos

Curso de Programación en Java - Programación orientada a objetosgráfica de visualizaciones

Publicado el 9 de Mayo del 2017
833 visualizaciones desde el 9 de Mayo del 2017
2,3 MB
7 paginas
Creado hace 12a (31/01/2012)
1/31/12
 

Introducción

!   ¿Qué es la POO?

!   Un paradigma de programación

!   Un paradigma es una forma de afrontar la construcción

código software
!   No hay paradigmas mejores ni peores
!   Todos tienen sus ventajas e inconvenientes

!   Hay distintos paradigmas: POO, Estructurado, Funcional,

Lógico, etc.

Programación orientada a

objetos

Curso INEM. Programación en Java

Santiago Muelas Pascual

[email protected]



Características de la POO

Elementos de la POO

!   Facilidad de diseño y relación con el mundo real
!   Reusabilidad y facilidad de mantenimiento
!   Del lenguaje máquina hacia el mundo real
!   Sistemas más complejos

!   Abstracción
!   Trabajo en equipo

!   Objetos: Elementos que interactúan entre sí para conseguir

un fin
!   Autónomos
!   Con una funcionalidad concreta definida
!   Instancias de una clase

!   Clases:

!   Especificación de un conjunto de elementos

!   Todo objeto pertenece a una clase

Objetos y clases

Objetos

!   Los objetos tienen propiedades que los distinguen

!   Comunes a todos los de su clase
!   Propias de cada uno

!   Los objetos representan los conceptos fundamentales del

programa
!   y de su interacción surge la funcionalidad

!   Los objetos interactúan entre sí por medio de mensajes



1
 

¿Como funciona un programa

orientado a objetos?

No hay
Buscar el

café
café

Comprar

café

Café

Cocina

Tienda

Resumen de objetos y clases

!   Clases

!   Representan conceptos o entidades significativas de un

problema

!   Se pueden ver como plantillas para definir elementos (objetos)

!   Objetos

!   Elementos con comportamiento definido en la clase y estado

concreto

!   Instancias de clase
!   Interactúan por medio de mensajes

Ejemplo

Otros conceptos importantes

!   Polimorfismo
!   Herencia
!   …



Se verán más adelante

UML

Declaración de clases

!   UML (Unified modeling language): Lenguaje unificado de

!   Una clase en Java debe ser declarada antes de poder ser

modelos

!   “Mapa” del código. No sirve para desarrollar sino para

describir

!   Se utilizan diagramas diferentes.

!   13 en UML 2.0

utilizada

class nombre {!
cuerpo de la clase!
}!

1/31/12
 

2
 

1/31/12
 

Atributos o variables de

instancia

!   Describen el estado interno de cada objeto concreto
!   Pueden ser:

!   Tipos básicos (int, boolean, char, etc.)
! Arrays de elementos
!   Otros objetos

tipo nombre_variable;

Cuerpo de la clase: atributos y

métodos

!   Estado: Describe la situación interna del objeto.
!   Existen varias formas de definir distintos estados
!   El estado distingue a los objetos de la misma clase

!   Cada uno tiene su estado

!   Son los atributos o variables de instancia

!   Comportamiento: Describe los servicios que proporciona

una clase lo que se puede hacer con ella).
!   Son los métodos



Métodos

Métodos

!   Definen el comportamiento de los objetos de una clase
!   Permiten acceder y modificar a los atributos
!   Devuelven (o no) un resultado
!   Pueden necesitar parámetros

tipo_retorno nombre (parámetros) {
código
}

!   Para promocionar la reusabilidad cada método debería estar

limitado a realizar un tarea muy concreta
!   El nombre de esa tarea tiene que expresar claramente la acción

del método

!   Un método que realiza una única tarea es más sencillo de

comprobar y de depurar que uno que realice varias

Métodos

Métodos

!   Permiten modularizar un programa separando sus tareas en

unidades auto contenidas

!   Ventajas:

!   Divide y vencerás
!   Reutilización
!   Evitar duplicidad

!   Facilita la depuración y el mantenimiento

!   En Java todo método tiene que pertenecer a una clase
!   El programa principal main es un método de una clase



!   Los objetos interactúan por medio de mensajes
!   Un objeto le pide a otro que realice una acción (ejecuta el

método X)

!   El objeto llamado realiza la acción pudiendo devolver un

resultado
!   puede no devolver nada

!   El objeto llamante no conoce los detalles de cómo se lleva a

cabo la acción

3
 

1/31/12
 

Esquema general

Uso de un método

Argumentos


a1


...


an


a2


Método


Valor de
retorno


Método(a1, ..., an)


resultado


Puede no
devolver un
resultado

!   Se invoca proporcionando valores a los argumentos de

llamada

!   El valor de retorno se devuelve por medio de un return
!   Se admiten métodos que no devuelvan nada

!   tipo void como tipo de retorno

!   Sólo con este tipo no es obligatorio usar la sentencia return

!   Los métodos admiten recursividad

Métodos y atributos

Ejemplo

•  Atributos

• 
raza: Bulldog
•  edad: 1 año
•  nombre: “Pancho”
•  …
•  Métodos
• 
ladra()
•  come()
•  duerme()
•  …

public class Perro {
// Atributos
String nombre;
int edad;
// Métodos
void ladra() {
System.out.println(“Guau”);
}
void cambiarNombre(String nuevonombre){
nombre = nuevonombre;
}
}

Creación de objetos

Acceso a atributos

! Por medio del operador new

! Por medio del operador .

NombreClase variable = new NombreClase();

!   Se le pueden pasar parámetros

! Método constructor

!  

lo veremos en las siguientes transparencias

variable.atributo;



! Dentro de un método no hace falta utilizar el operador . para

Ej: System.out.println(miPerro.nombre);

acceder a un atributo o variable de instancia

4
 

1/31/12
 

Llamada a métodos

Ejemplo

! Por medio del operador .

Ej: miPerro.ladra();

public class Perro {
String nombre;
public void ladra() {
System.out.println(“GUAU”);
}
public static void main(String[] args) {
Perro miperro = new Perro();
miperro.ladra();
}
}

Ejercicio

!   Utilizando la clase Perro mostrada anteriormente, crea un
objeto de la clase Perro y haz que su nombre (atributo de la
clase String) contenga al valor “Pancho”.

!   Imprime el atributo nombre
!   Crea el método dameNombre en la clase Perro que devuelva

el atributo nombre.

!   Imprime el resultado de llamar a este método.

Tipos primitivos vs tipos

referencia

!   Hasta ahora las variables podían ser del tipo:

! Tipos primitivos: int, double, char, …
! Tipo de una Clase: String, Perro, …
!   (arrays)

! Una variable de un tipo primitivo contiene exáctamente un

único valor del tipo especificado

!   Si no se le asigna un valor al declararla, se le asigna un valor

por defecto

Referencias

Referencias

!   Con la creación de objetos tenemos un nuevo tipo

!   Referencias

!   ¿Qué es una referencia?

!   Una identificador para acceder al objeto

!   Todas ocupan lo mismo

!   Pero identifican a objetos de un

tipo determinado (Perro, String,…)

!   Se utilizan para acceder a los atributos y llamar a los

métodos de un objeto

!   El valor por defecto es null

Perro miPerro = new Perro();!

miPerro.nombre = “Pancho”;!

Perro otroPerro = new Perro();!

otroPerro.nombre = “Friki”;!

!

miPerro = otroPerro;!

Pancho

Friki

5
 

Métodos habituales:

Constructor

!   Sirve para inicializar los atributos de un objeto al crearlo
!   Se utiliza el nombre de la clase
!   No devuelve nada por definición

NombreClase( parámetros ) {

}

Ejercicio

! Crea el constructor para la clase Perro de manera que reciba
un nombre y una edad y asigne esos valores a los atributos
correspondientes.

! Crea un objeto de la clase Perro con el nuevo constructor

Ejemplo

class Coche {
String color;
String modelo;

Coche( String uncolor, String unmodelo ) {
color = uncolor;
modelo = unmodelo;
}

public static void main(String[] args) {
Coche c = new Coche(“rojo”,”Clio”);
}

}

Métodos habituales:

Constructor

!   ¿Qué sucede si no declaramos un constructor?

!   Siempre tiene que existir

!   Se crea uno vacío por defecto
!   ¿Qué sucede en este ejemplo?

class Prueba {
Prueba(int a) {
}
public static void main(String[] args) {
Prueba c = new Prueba();
}
}

Inicialización de atributos o

variables de instancia

!   Para que los atributos de los objetos que se creen siempre

tomen el mismo valor

class Cuenta {
int saldo = 100;
}

La referencia this

!   Dentro de un método, la palabra reservada this representa a

la referencia al objeto actual

!   Lo pasa el compilador como el primer argumento implícito

de cada llamada de un método

!   Se utiliza implícitamente para hacer referencia tanto a los

atributos como a los métodos

!   También se puede utilizar de manera explícita

1/31/12
 

6
 

Ejemplo

Sobrecarga de métodos

public class Perro {
String nombre;
Perro(String nombre) {
this.nombre = nombre;
}
}

! Varias declaraciones de un método con el mismo nombre
! Distintas implementaciones en función de los parámetros

recibidos

!   Se puede aplicar al constructor

Sobrecarga: Ejemplo

Ejercicio

! Crea para la clase Perro mostrada anteriormente un método
ladra que imprima GUAU y otra versión sobrecargada que
imprima el parámetro de tipo String que reciba de entrada.

class Perro {
String nombre;
int edad;

Perro(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}

Perro(String nombre) {
this.nombre = nombre;
this.edad = 0;
}
}

Sobrecarga

!   Métodos con el mismo nombre pero con distinto parámetros

de entrada

!   ¡OJO! El tipo de retorno puede cambiar

!   Pero sólo si los parámetros de entrada son distintos
!   No puede haber dos métodos con el mismo nombre, los mismos

parámetros de entrada pero distinto tipo de salida.

1/31/12
 

7
  • Links de descarga
http://lwp-l.com/pdf3441

Comentarios de: Curso de Programación en Java - Programación orientada a objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad