Está en la página 1de 32

Programacin Orientada a Objetos en

Java
(Parte I)
Redes y Servicios Telemticos
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Clases y objetos
ndice
Clases y objetos
Herencia
Interfaces
Excepciones
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Lenguaje de programacin de propsito general
Orientado a objetos
Lenguaje multiplataforma
Caractersticas
Compilador que traduce el cdigo a un lenguaje (bytecode)
Se necesita un intrprete Java para ejecutar el bytecode en
una mquina real
,,,
for {i=0;i-;i++} {
u+=b;
System,out,printIn{u}
}
,,,
PROGRAMA JAVA
COMPILADOR
BYTECODE
JVM
INTERPRETA (EJECUTA)
EL PROGRAMA JAVA
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Caractersticas
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Analizar las especificaciones de problemas
o Tener claro qu datos entran y qu datos salen
Metodologa de programacin
Disear la solucin
o Organizar el problema en subproblemas
o Identificar si se puede reutilizar cdigo
Implementar la solucin
Verificar la solucin
Mantener y actualizar el programa
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Es importante escribir un buen cdigo
o Fcil de comprender y modificar (por uno y por otros)
Los comentarios son tiles para explicar qu hace el cdigo
Comentarios
Los comentarios son tiles para explicar qu hace el cdigo
/* Lu cIuse HoIuMundo imprime hoIu mundo en puntuIIu */
pubIic cIuss HoIuMundo {
pubIic stutic void muin{String[j urgs} {
// Escribe | HoIu Mundo |
System,out,printIn{"| HoIu Mundo |"};
// SuIir deI progrumu
System,eit{0};
}
}
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Los tipos de datos indican cmo se representa la
informacin
o Enteros (byte, short, int, long) en decimal, hexadecimal y
octal
Tipos y variables
octal
o Reales (float, double)
o boolean
o char (entre comillas simples)
Se puede realizar conversin de tipos
Tipos de datos complejos CLASES
o String
CUIDADO CON LAS
MAYSCULAS Y
MINSCULAS
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Las variables son nombres (identificadores) que
representan un dato (valor de cierto tipo)
La declaracin de una variable tiene el formato:
Tipos y variables
La declaracin de una variable tiene el formato:
El contenido de una variable puede variar dentro del
programa. Si no queremos que vare se usa la palabra final
Ejemplo:
[modificador] tipo nombre_de_la_variable
int u;
chur b='A';
doubIe sumuresuItudoc;
finuI doubIe PI=3,141;
Hay que darle valor
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Vectores y matrices
En Java se pueden declarar vectores y matrices de cualquier
tipo
int v[j; // decIurucin de un vector de enteros
chur b[j[j; // decIurucin de unu mutriz de curucteres
Y su longitud:
Pueden crearse vectores y matrices de objetos
chur b[j[j; // decIurucin de unu mutriz de curucteres
v=new int[10j; // creucin deI vector de enteros unterior {tumuo 10}
b=new chur[3j[Zj; // creucin de Iu mutriz de curucteres unterior {tumuo
3Z}
v,Iength // corresponde con eI vuIor 10
b[0j,Iength // corresponde con eI vuIor Z
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Operadores
Operador Descripcin
== Igual que
!= Distinto que
<= Menor o igual que
Operador Descripcin
+ Suma
- Resta
<= Menor o igual que
< Menor que
>= Mayor o igual que
> Mayor que
Operador Descripcin
&& Y lgico
|| O lgico
! No lgico
* Multiplicacin
/ Divisin
% Resto de divisin
entera
++ Incremento
(i++ o ++i)
- - Decremento
(i- - o - -i)
RELACIONALES
LGICOS
ARITMTICOS
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Estructuras de control: condicional simple
if {condicin} {
condicin=true?
no
if {condicin} {
instruccin;
,
}
siguiente instruccin;
si
Se ejecuta las
instrucciones
Se ejecuta la
siguiente
instruccin
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Estructuras de control: condicional doble
if {condicin} {
instruccin 1;
,
} eIse {
instruccin Z;
,
condicin=true?
si no
instruccin Z;
,
}
siguiente instruccin;
Se ejecuta las
instrucciones 1
Se ejecuta la
siguiente
instruccin
Se ejecuta las
instrucciones 2
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Estructuras de control: condicional mltiple
switch {epresin} {
cuse vuIor1:
expresin=
valor1?
Instrucciones 1
break
si
no
LA EXPRESIN
SLO CHAR, INT,
SHORT o BYTE
cuse vuIor1:
// instrucciones 1;
breuk;
cuse vuIorZ:
// instrucciones Z;
breuk;
,,,
defuuIt:
// instrucciones defuuIt
breuk;
}
// siguiente instruccin
instrucciones
default
break
Se ejecuta la
siguiente
instruccin
Instrucciones 2
break
expresin=
valor2?
si
no
no
CUIDADO CON EL
break
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Estructuras de control: bucle while
whiIe {condicin} {
condicin=true?
no
whiIe {condicin} {
instruccin;
,
}
siguiente instruccin;
si
Se ejecuta las
instrucciones
Se ejecuta la
siguiente
instruccin
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Estructuras de control: bucle do-while
do {
Se ejecuta las
instrucciones
do {
instruccin;
,
} whiIe {condicin};
siguiente instruccin;
condicin=true?
no
si
Se ejecuta la
siguiente
instruccin
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Estructuras de control: bucle for
for {iniciuIizucin;
condicin;
uctuuIizucin} {
condicin=true?
no
inicializacin
uctuuIizucin} {
instruccin;
,
}
siguiente instruccin;
condicin=true?
si
Se ejecuta la
siguiente
instruccin
instruccin
actualizacin
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Qu es un mtodo?
Mtodos
Cmo se declara?
o La instruccin return
Cmo se invoca?
Qu es el mtodo main?
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Qu es un mtodo?
Es una forma de organizar las instrucciones dentro de una
unidad con un nombre dado
o Es lo que conocemos como procedimiento o funcin
Se caracteriza por:
o Permite la reutilizacin de cdigo
o El programa es ms fcil de comprender y depurar
o Puede aceptar distintas entradas (argumentos)
o Permite la salida de un valor
(argumentos)
(valor retornado)
Mtodo para
calcular una raz
cuadrada
numero
numero
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Cmo se declara?
Un mtodo tiene cuatro partes:
o El tipo retornado (primitivos, no primitivos, void)
o El nombre (identificador)
o Los argumentos
cuerpo o El cuerpo
doubIe sqrt{doubIe numero} {
/* operuciones que reuIizun eI cIcuIo
de Iu ruz cuudrudu de un nmero */
}
El tipo, el nombre y los argumentos son la firma del mtodo
Mtodos con el mismo nombre deben tener distinta firma
(sobrecarga)
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
La instruccin return
La instruccin return se usa para devolver el resultado de la
ejecucin del mtodo
El formato es el siguiente:
El tipo del valor o expresin retornada debe ser el mismo
que el tipo del mtodo
doubIe sqrt{doubIe numero} {
doubIe resuItudo;
/* operuciones que reuIizun eI cIcuIo
de Iu ruz cuudrudu de un nmero */
return resuItudo;
}
return valor o expresin;
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Cmo se invoca a un mtodo?
Para llamar a un mtodo se indica su nombre y sus
argumentos, si los tiene, entre parntesis y separados por
comas
sqrt{numero};
Si el mtodo no tiene argumentos, se llama igual pero entre
parntesis no hay nada
Si el mtodo retorna un valor, ese valor debera guardarse
La forma de llamar a un mtodo tambin depende de dnde
se llame a ste
IimpiurPuntuIIu{};
doubIe resuItudo=sqrt{numero};
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
El mtodo main
Es el mtodo usado por Java para empezar la ejecucin de
un programa
Tiene un firma fija (no puede cambiar) Tiene un firma fija (no puede cambiar)
El contenido del cuerpo del main depender de la
implementacin del programador
Se puede introducir datos al programa desde la lnea de
rdenes a travs del argumento args
public static void main(String[ ] args)
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
El lenguaje Java
Clases y objetos
ndice
Clases y objetos
Herencia
Interfaces
Excepciones
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
Los objetos son representaciones de cosas (del mundo real
o imaginario) y pertenecen a una clase determinada
Los objetos tienen caractersticas o atributos como: el color,
la altura, la temperatura, la velocidad, entre otros
Qu es un objeto?
Clases y objetos
la altura, la temperatura, la velocidad, entre otros
Los objetos tiene un comportamiento o mtodos
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
Las clases son tipos de datos, es decir, plantillas para crear
objetos (indicando sus atributos y mtodos)
<nombre de clase> <nombre de objeto1>
Qu es una clase?
Clases y objetos
SECUENCIA DE INSTRUCCIONES
QUE REALIZAN UNA TAREA
ATRIBUTOS
MTODOS
INFORMACIN
<nombre de clase>
<nombre de objeto2>
<nombre de clase>
instancia
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
Las clases tienen miembros pblicos (public) y miembros
privados (private)
Clases y objetos
Qu es una clase?
En la programacin orientada a objetos, la mayora de los
miembros son privados, existiendo algn miembro pblico
para que se puede interactuar con ellos desde el exterior
(ocultacin de la informacin)
Normalmente, los miembros privados de una clase son los
atributos (variables) y los miembros pblicos son los
mtodos que acceden a ellos
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
Clase vs objeto
Clases y objetos
objeto
clase
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
Son tipos abstractos de datos
Definen el comportamiento y los atributos de un grupo de objetos, si
CLASE
Clase vs objeto
Clases y objetos
Definen el comportamiento y los atributos de un grupo de objetos, si
stos fueran creados a partir de la clase
Mtodos: avanzar, frenar, acelerar,
Atributos: color, velocidad, longitud,
Es un ejemplo o instancia de una clase (existe en la memoria del
computador)
OBJETO
Clase Transporte
Mtodos: avanzar, frenar, acelerar,
Atributos: color=Amarillo
velocidad=150 Km/h
Objeto guagua
pertenece a la clase Transporte
Clase Transporte
Objeto guagua
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
public
final
abstract
Declaracin de clases
<nombre de clase>
DATOS
Clases y objetos
[modificudoresj cIuss -nombre_cIuse>
[etends nombre_supercIose]
[impIements nombre_inferfoceI,nombre_inferfoceZ,...] {
// voriobIes (de insfoncio)
// voriobIes (esfoficos)
// mefodos
}
MTODOS
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
LOCALES LOCALES
DE INSTANCIA DE INSTANCIA
DECLARADA DENTRO DE UN MTODO Y SLO SE CONOCE
EN EL MTODO
DECLARADA DENTRO DE UNA CLASE (FUERA DE SUS
Variables
Clases y objetos
DE INSTANCIA DE INSTANCIA
DE CLASE O DE CLASE O
ESTTICAS ESTTICAS
DECLARADA DENTRO DE UNA CLASE (FUERA DE SUS
MTODOS). PERTENECE A LOS OBJETOS
DECLARADA DENTRO DE UNA CLASE (FUERA DE SUS
MTODOS). PERTENECE A LA CLASE
public
private
protected
sin modificador
static
VARIABLES MIEMBROS
[modificodor] fipo nombre_voriobIe,
primitivos
no primitivos
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
pubIic cIoss MiCIose {
privute fIoof o,b,
pubIic booIeon vor,
privute stutic inf sumo,
Variables de instancia:
Clases y objetos
Variables
privute stutic inf sumo,
pubIic stutic doubIe fofoI,
protected chor opcion,
protected stutic Sfring dofo,
inf poso,
...
// mefodos de Io cIose
...
}
a, b, var, opcion, paso
Variables estticas:
suma, total, dato
Programacin orientada a objetos en Java
Carmen Nieves Ojeda Guerra, Grupo Aplicaciones - DIT
Redes y Servicios Telemticos
CLASES PREDEFINIDAS
<nombre de paquete>.<nombre de clase>
Formato de una clase
Clases y objetos
cIuss -nombre de cIuse> {
,
,
import -nombre de puquetes o cIuses>;
pubIic cIuss -nombre de cIuse> {
,
pubIic stutic void muin{String[j urg} {
,
}
}
CLASES DEFINIDAS POR
EL PROGRAMADOR
CLASE PRINCIPAL
En un archivo slo puede haber una clase pblica
El nombre del archivo coincide con el de la clase pblica
La clase raz en Java es la clase Object que est en java.lang
}
,

También podría gustarte