0% encontró este documento útil (0 votos)
40 vistas41 páginas

Curso Java 02

Cargado por

Beto Machip
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas41 páginas

Curso Java 02

Cargado por

Beto Machip
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

POO con Java

Capítulo 2
CLASES Y OBJETOS

1
Objetivos

 Describir el concepto de objeto y de clase.

 Describir la creación de clases usando


abstracción, generalización.

 Describir la propiedad de la encapsulación.

 Definir clase, miembro, atributo, método,


constructor, y paquete.

2
Objetivos

 Usar los modificadores de acceso privado y


publico.

 Invocar un método en un objeto particular.

 Explicar porque se puede reusar el código


Java.

 Usar la documentación de la interfaz de


programación de aplicaciones (application
programming interface: API)
3
Puntos de referencia

 ¿Cuál es la importancia del análisis y el


diseño?

 ¿Qué importancia tiene reutilizar


código?

 Qué se entiende por orientado a objetos.

 ¿Porqué lenguajes orientados a objetos


son considerados para sistemas
robustos?

4
Ingeniería de Software

Crisis del software


 Problemas de calidad
 Problemas de presupuesto
 Problemas de tiempos de entrega

CAUSA: La complejidad
La POO busca controlar la complejidad

5
Ingeniería de Software

rama de la ingeniería que aplica los principios de


la ciencia de la computación y las matemáticas
para lograr soluciones costo-efectivas a los
problemas del desarrollo de software.

6
Análisis y Diseño

Análisis: describe qué necesidades posee el


sistema
 Modelamiento del mundo real: actores,
actividades, objetos y comportamientos.

Diseño: describe cómo las implantará el sistema:


 Modelamiento de interacciones entre objetos
y actores en el sistema.
 Describe abstracciones útiles para
simplificar el problema y la solución,
considerando

7
OBJETO

• Entidad que representa parte de la realidad.

• Entidad con lo que se puede interactuar, si se le


envían mensajes reacciona ante estos.

• Entidad que tiene comportamiento, estado e


identidad.

8
OBJETO

• IDENTIDAD: A un objeto se le puede distinguir


de forma única.

• ESTADO: Es lo que define a un objeto por un


conjunto de valores en un momento
determinado

• COMPORTAMIENTO: El modo de actuar y


reaccionar de un objeto.
Se define en función del estado y a través del
envío de mensajes.

9
Abstracción

Es el principio de ignorar aquellos aspectos de un


sujeto que no son relevantes al propósito actual,
con el objetivo de concentrar la atención
completamente en aquellos que lo son

10
Generalización

Hallar los aspectos comunes de un conjunto


de elementos.

La generalización es alcanzada mediante la


abstracción.

11
Clases como Moldes de Objetos

 En la fabricación un molde permite


construir muchos dispositivos
parecidos

 En la programación, una clase es un


molde donde se describen las
características de un objeto.
 Describe los atributos que posee
cada objeto de esa clase
 Describes el comportamiento que
exhibe cada objeto de esa clase

12
Clases como Moldes de Objetos

 El objeto que se construye a partir de


una clase, se conoce como instancia
o ejemplar de una clase.

13
Clases como Moldes de Objetos

Clase Clase Objetos


nombre Estudiante
propiedades matrícula
nombre
comportamiento calificaciones

calculaPromedio( )
muestraDatos( )

14
Diagramas de clases en UML

nombre
atributos

constructores
métodos

15
Declarando clases en Java: Sintaxis

<modificadores> class <nombre_clase> {


[<declaraciones_atributos>]
[<declaraciones_constructores >]
[<declaraciones_metodos>]
}

16
Elaborando diagrama de clase: Ejemplo

Diagrama UML de la clase Vehiculo

Vehiculo
- cargaMaxima: double

+ asignarCargaMaxima(valor: double valor)


+ muestraCargaMaxima(): double

17
Declarando clases en Java: Ejemplo

public class Vehiculo {


private double cargaMaxima;

public void asignarCargaMaxima(double valor){


cargaMaxima = valor;
}

public double muestraCargaMaxima(){


return cargaMaxima;
}
}

18
Declarando Atributos : Sintaxis y ejemplo

[<modificadores>] <tipo> <nombre> [= v];

public class Cualquiera {


private int x;
private float salario= 10000.0F;
private String nombre = “Jose
Segura";
}

19
Declarando Atributos : Diagrama y Código

Atleta
+ peso: double

public class Atleta {


public double peso;
}

20
Declarando Métodos : Diagrama

Atleta
- peso: double

+darPeso(): double
+ asignarPeso(nuevoPeso: double)

21
Declarando Métodos: Sintaxis y ejemplos

Sintaxis de métodos
[<modificadores>]<tipo_regreso> <nombre> ([<lista_argumentos>]){
[<comandos>]
}
public class Atleta {
private double peso;

public double darPeso( ) {


return peso;
}
public void asignarPeso(double
nuevoPeso){
peso = nuevoPeso;
}
}
22
Declarando Constructores: Sintaxis

<modificadores> <nombre_clase> ([<lista_argumentos>]){


[<comandos>]
}

23
Declarando Constructores

1 public class Atleta {


2 private int peso;
3
4 public Atleta () {
5 peso = 42;
6 }
7
8 public int darPeso() {
9 return peso;
10 }
11 public void asignaPeso(int nuevoPeso) {
12 peso = nuevoPeso;
13 }
14 }

24
El Constructor default

• Siempre habrá al menos un constructor en


cualquier clase.
• Si el programador no propone un constructor, un
constructor por default se inserta automáticamente.
• El constructor por default:
NO tiene argumentos
NO tiene cuerpo
PERMITE crear instancias de objetos con
new Xxx( )

25
Accediendo a los miembros de un Objeto

Notación punto: <objeto>.<miembro>

El punto se usa para acceder a los miembros


de un objeto incluyendo atributos y métodos
Ejemplos:

Atleta atleta= new Atleta();


//si peso es privado

atleta.asignarPeso(65);

26
Accediendo a los miembros de un Objeto

Notación punto: <objeto>.<miembro>

El punto se usa para acceder a los miembros


de un objeto incluyendo atributos y métodos
Ejemplos:

Atleta atleta= new Atleta();

atleta.peso = 42; //si peso es


publico

27
Clases como Moldes de Objetos

En Java, las clases permiten implantar


tres aspectos claves de la programación
orientada a objetos:

 Encapsulación
 Herencia
 Polimorfismo

28
Ocultamiento de Información

Problema: El usuario que utilice la clase Fecha con


atributos públicos tiene acceso al código del
cliente

Fecha public class Fecha {


public int
+ día dia;
+ mes public int
+ año mes;
public int año;
}

29
Ocultamiento de Información

Problema: El usuario que utilice la clase Fecha con


atributos públicos tiene acceso al código del
cliente

Fecha f= new Fecha():

f.dia=32; //dia inválido

f.mes=2; f.día=30; //error

f.dia= f.dia + 1;//¡cuidado!

30
Ocultamiento de Información

Solución: El usuario debe hacer privados los datos


y usar métodos que accedan datos internos.

Fecha Fecha f= new Fecha():


- día f.setDia(32); //dia inválido
- mes // regresa falso
- año
+ getDía( ) f.setMes(2);
+ getMes( ) f.setDia(30); //error
+ getAño( ) // regresa falso
+ setDía( int )
+ setMes( int) f.setDia(f.getDia()+ 1);
+ setAño( int ) // puede ajustar el mes
- diaValido( )

31
Encapsulación

• Oculta los detalles de la implantación de


una clase
• Obliga al usuario a que use una interfaz
para acceder datos
• Hace al código mas fácil de depurar

32
Esquema de un archivo fuente: Sintaxis

[ <declaración package> ]
[ <declaraciones import> ]
< declaración clase >

33
Esquema de un archivo fuente:Ejemplo

package envios.reportes;
import envios.dominio.*;
import java.util.List;
import java.io.*;

public class ReporteCapacidadVehiculo{


private List vehiculos;
public void generaReporte(Writer salida){
...
}
}

34
Síntesis de términos

• Clase- El código fuente que es el molde para crear un


objeto.
• Objeto - Un ejemplar de una clase. (sinónimo:
instancia ) Entidad que representa una parte de la
realidad y tiene identidad, estado y comportamiento.
• Atributo. El dato de un objeto. (sinónimo: miembro
dato, variable de instancia, campo dato)
• Método. El comportamiento de un objeto. (sinónimo:
algoritmo, función, procedimiento)
• Constructor. Algo parecido a un método usado para
inicializar un objeto.
• Paquete - Agrupamiento de clases y/o subpaquetes.

35
Usando la documentación de las API

• Un conjunto de archivos (HTML) ofrece


información acerca de las API.
• Un paquete tiene las ligas a la
información de sus clases.
• El documento de una clase incluyela
jerarquía de clases, una descripción de la
clase, una lista de variables miembro,
una lista de constructores y así
sucesivamente.

36
Ejemplo de la documentación de las API

37
Ejercicio: Usando objetos y clases.

 Objetivos:
 Implantar los conceptos
presentados en este módulo.

 Tareas
 Complete las tareas
especificadas en su práctica

38
Verifique su progreso

 Describir como se genera una clase


mediante la abstracción y generalización.

 Definir clase, miembro, atributo, método,


constructor, y paquete.

 Usar los modificadores de acceso privado


y publico.

 Invocar un método en un objeto particular.

39
Verifique su progreso

 Explicar porque se puede reusar el


código Java.

 Identificar los comandos package e


import
Clases, métodos, y atributos y
Constructores

 Usar la documentación de la interfaz de


programación de aplicaciones
(application programming interface: API)
40
Preguntas por responder

• ¿Cuáles tipos de datos hay en Java?

• ¿Existen reglas para crear nombres


de clases y atributos?

41

También podría gustarte