View
219
Download
0
Category
Preview:
Citation preview
8/18/2019 Conceptos POO v1
1/45
8/18/2019 Conceptos POO v1
2/45
Repaso de ciclos, estructuras de control y arreglos
8/18/2019 Conceptos POO v1
3/45
8/18/2019 Conceptos POO v1
4/45
Sentencia do .. while
Ejecuta una secuencia de instrucciones, una o ás !eces, dependiendo dela condici"n de e!aluaci"n.
do{
secuencia de instrucciones} While (condicion);
Ejeplo#
pu$lic class Ciclos %pu$lic static !oid ain&String'( args) %
int i*+
do%
S0ste.out.print&i 1 3 3)i11 //es igual a i*i1
2while&i-*+) //ientras i es enor o igual a +
2
2
8/18/2019 Conceptos POO v1
5/45
Sentencia 4or
Ejecuta una secuencia de instrucciones, una o ás !eces, dependiendo dela condici"n de e!aluaci"n.
//5a instrucci"n 4or en su enca$ezado contiene
//inicializaci"n&!aria$le de ontrol)condicionincreento
for( [v1=e1[,v2=e2!;[condici"n;incre#ento){
secuencia de instrucciones;
}
Ejeplo#
pu$lic class Ciclos %
pu$lic static !oid ain&String'( args) %
4or &int i * + i - + i11) %S0ste.out.print&i 1 3 3)
2
2
2
8/18/2019 Conceptos POO v1
6/45
pac6age seana7
iport ja!a.util.Scanner
pu$lic class 8actorial %
pu$lic static !oid ain&String'( args) %
Scanner entrada * new Scanner&S0ste.in)
S0ste.out .println&39ae un !alor# 3)
int !alor * entrada.ne:tInt&)
dou$le n *
dou$le 4act *
while &n -* !alor) %4act ;* n
n11
2
S0ste.out .println&3El 4actorial de 3 1 !alor 1 3 es 314act)
22
8/18/2019 Conceptos POO v1
7/45
pac6age seana7pu$lic class CalcularE %
pu$lic static !oid ain&String'( args) %
dou$le n*,*
dou$le 4act*
dou$le e*while&-+)%
n*
while&n-*)%
;
n112
e1*/4act
4act*
11
2
S0ste.out .println&3El !alor de e 31e)
2
2
8/18/2019 Conceptos POO v1
8/45
pac6age seana7
iport ja!a.util.Scanner
pu$lic class E:p< %
pu$lic static !oid ain&String'( args) %
Scanner entrada*new Scanner&S0ste.in)
S0ste.out .println&39ae el !alor de :# 3)
int :*entrada.ne:tInt&)
int ::*:
dou$le n * , * dou$le 4act *
dou$le e *
while & -* =+) %
n *
while &n -* ) %4act ;* n
n11
2
e 1* :/ 4act
4act *
:;*::11
2
S0ste.out .println&3El !alor de e>:# 3 1 e)
2
2
8/18/2019 Conceptos POO v1
9/45
Instrucci"n de selecci"n ?ltiple switchpac6age seana7
iport ja!a.util.Scannerpu$lic class SeleccionSwitch %
pu$lic static !oid ain&String'( args) %
Scanner entrada * new Scanner&S0ste.in)
S0ste.out .println&39ae un !alor del al @ 3)
int !alor * entrada.ne:tInt&)
switch &!alor) %case #
S0ste.out .println&3El !alor 4ue uno3)
$rea6
case =#
S0ste.out .println&3El !alor 4ue dos3)
$rea6
case #
S0ste.out .println&3El !alor 4ue tres3)
$rea6
case B#
S0ste.out .println&3El !alor 4ue cuatro3)
$rea6
case @#S0ste.out .println&3El !alor 4ue cinco3)
$rea6
de4ault#
S0ste.out .println&34uera del rango3)
$rea6
22
2
8/18/2019 Conceptos POO v1
10/45
pac6age seana7
iport ja!a.util.Scanner
pu$lic class SeleccionSwitch %
pu$lic static !oid ain&String'( args) %
Scanner entrada * new Scanner&S0ste.in)
S0ste.out .println&39ae una !ocal 3)
char !alor * entrada.ne:t&).charAt&+)
switch &!alor) %
case a#
S0ste.out .println&35a !ocal 4ue a3)
$rea6case e#
S0ste.out .println&35a !ocal 4ue e3)
$rea6
case i#
3 30s e.ou .pr n n a !oca ue
$rea6case o#
S0ste.out .println&35a !ocal 4ue o3)
$rea6
case u#
S0ste.out .println&35a !ocal 4ue u3)
$rea6de4ault#
S0ste.out .println&3no 4ue !ocal3)
$rea6
2
2
2
8/18/2019 Conceptos POO v1
11/45
8/18/2019 Conceptos POO v1
12/45
Sentencia i4 .. else
Perite ue un prograa toar una decisi"n para ejecutar una acci"n u
otra.
if (condicion){
secuencia de instrucciones;
}else{
secuencia de instrucciones;}
Ejeplo#
pu$lic class Control %pu$lic static !oid ain&String'( args) %
int a*=+,$*+
i4&a$)%
S0ste.out.println&3a a0or ue $3)
2else%
S0ste.out.println&3$ a0or ue a3)
2
2
2
8/18/2019 Conceptos POO v1
13/45
Sentencia else i4
Perite ue un prograa toar una decisi"n para ejecutar una acci"n uotra, pero con una secuencia de i4 anidado.
if (condicion){
secuencia de instrucciones;
}else if (condicion){secuencia de instrucciones;
}else if (condicion){
secuencia de instrucciones;
&
&
else{
secuencia de instrucciones;
}
8/18/2019 Conceptos POO v1
14/45
pu$lic class Control %
pu$lic static !oid ain&String'( args) %
int a*=+
i4&a ** +)%
S0ste.out.println&3a es +3)
2else i4 &a**=+)%
S0ste.out.println&3a es =+3)
S0ste.out.println&3a es +3)2else%
S0ste.out.println&3Jo esta en el rago peritido3)
2
22
8/18/2019 Conceptos POO v1
15/45
Arreglos
Kn arreglo es un grupo de !aria$les &llaados eleentos o coponentes) ue
contienen !alores, todos del iso tipo.
Arr'+(*=
Arr'(*B@
Jo$re del
arreglo
su$Lndice
*
Arr'(*@7
int' ( Arr*new int'B(
o
int Arr' (*new int'B(
8/18/2019 Conceptos POO v1
16/45
Inicializar un arreglo
int arr' (*%=,B,@7,7,7@,B@2
String arr' (*%DJorte,Sur,Este,Oeste2
Arreglos $idiensionales
int' (' ( arr*new int'=('=(
(0,0) (0,1)
(1,0) (1,1)
8/18/2019 Conceptos POO v1
17/45
pac6age seana7
pu$lic class Arreglos %pu$lic static !oid ain&String'( args) %
String'( arr*%3Jorte3,3Sur3,3Este3,3Oeste32
int'('( arr=*%%,=,2,%,B22
int'( arr*new int'+(
4or&int i*+i-arr.lengthi11)%
S0ste.out .println&arr'i()
2
4or&int i*+i-arr=.lengthi11)%
4or&int j*+j-arr='i(.lengthj11)%
0ste.out .pr nt arr 1
2S0ste.out .println&)
2
4or&int i*+i-arr.lengthi11)%
arr'i(*i
24or&int i*+i-arr.lengthi11)%
S0ste.out .print&arr'i(13 3)
2
2
2
8/18/2019 Conceptos POO v1
18/45
Cualidades de Java
Sencillo
• Fácil de aprender• Sintaxis corta y practica• La mayoría de cualidades que C++
8/18/2019 Conceptos POO v1
19/45
Orientado a Objetos
l dise!o orientado a objetos es una t"cnica depro#ramac n que se cen ra en os a os var a es ' y en a
(orma de c$mo operar con ellos %m"todos&)
8/18/2019 Conceptos POO v1
20/45
O$jeto
Pro!iene del latLn O$jectus, donde o$ signi4ica hacia, 0 jacere es arrojar, por
lo tanto un o$jeto es cualuier cosa ue se pueda arrojar
5os o$jetos se pueden !er coo o$jetos concretos 0 o$jetos a$stractos.
O$jetos Concretos O$jetos A$stractos
8/18/2019 Conceptos POO v1
21/45
CaracterLsticas de los o$jetos
Kn o$jeto de$e ser un sustanti!o no un gerundio &no ocupar !er$os).
Kn o$jeto conser!a una estructura 0 un coportaiento &acci"n).
Kn o$jeto de$e tener un no$re singular no plural.
Kn o$jeto integra una estructura de datos &atri$utos) 0 un coportaiento o acci"n
&operaciones).
Cada o$jeto tiene un identi4icador interno ?nico.
8/18/2019 Conceptos POO v1
22/45
Clases
Kna clase es una plantilla, plano o olde de la cual se crean realente ?ltiples
los o$jetos. Por lo tanto un o$jeto es un instancia &ejeplar ) de una clase.
5as estructuras o propiedades de la clase se conocen coo Datri$utos 0 el
coportaiento coo operaciones &Ntodos).
8/18/2019 Conceptos POO v1
23/45
KM5&Kni4ied Modeling 5anguage)
El odelo o odelado de o$jetos descri$e los conceptos principales de la
orientaci"n a o$jetos, ue son estructuras estáticas 0 sus relaciones.
Estructuras estáticas# son los o$jetos 0 clases lo cuales están copuestos deatri$utos 0 operaciones.
elaciones# Son las ligas 0 asociaciones entre los o$jetos 0 clases.
8/18/2019 Conceptos POO v1
24/45
epresentaci"n de Clases en KM5
Jo$re de la clase
Ejeplo Persona Kni!ersidad 8ruta
epresentaci"n de O$jetos en KM5
e$eca KJAM ManzanaEjeplo
e$eca#Persona KJAM#Kni!ersidad Manzana#8ruta
8/18/2019 Conceptos POO v1
25/45
Creaci"n de una clase en ja!a, 0 o$tener un instancia &O$jeto)
de la isa.
pu$lic class Clase %
pu$lic Clase&)%2
pu$lic static !oid ain&String'( args) %
Clase o$jeto*new Clase&)
2
2
Jotaci"n KM5 de una instancia de la clase
Clase O$jeto#Clase--instanceO4
Clase O$jeto--instanceO4
8/18/2019 Conceptos POO v1
26/45
Atri$utos
5os atri$utos de4inen la estructura de una clase 0 de sus correspondientes o$jetos.
Ejeplo# Auto"!il# color, odelo.
5os atri$utos corresponden a sustanti!os 0 sus !alores pueden ser sustanti!os o
adjeti!os.
Ejeplo# Persona.
no$re# e$eca sustanti!o
edad# = sustanti!o
color#rosaadjeti!o
9entro de una clase los no$res de los atri$utos de$en ser ?nicos &aunue puede
aparecer el iso no$re de atri$utos en di4erentes clases).
Ejeplo# Persona, CopaLa pueden tener un atri$uto direcci"n cadauno de ellos, pero no puede e:istir ás de uno en cada clase.
8/18/2019 Conceptos POO v1
27/45
Jotaci"n e:tendida para diagraas de clases conteniendo atri$utos
Jotaci"n e:tendida de O$jetos
8/18/2019 Conceptos POO v1
28/45
Operaciones
5as operaciones son 4uncionaiento o trans4oraciones ue se aplican a todos los
o$jetos de una clase particular. 9ichas operaciones pueden ser una acci"n
ejecutada por el o$jeto o so$re el o$jeto.
Ejeplo# Pelota# arrojar, atrapar.Gentana# re4lejar.
5as operaciones de$en ser ?nicas dentro de una isa clase, aunue no
.
Ejeplo# Casa, Carro tienen a$os la operaci"n copra, pero no dos
operaciones iguales so$re la isa clase.
Jo se de$e utilizar el iso no$re en operaciones ue tengan un signi4icado
totalente di4erente.
Ejeplo# el procediiento in!ertir para una clase de 8igura 0 una clase
ue aneja atrices. &in!ertir8igura,in!ertirMatri:).
8/18/2019 Conceptos POO v1
29/45
5as operaciones pueden tener arguentos, es decir una lista de paráetros cada
uno de un tipo, 0 puede de!ol!er un !alor.
8/18/2019 Conceptos POO v1
30/45
Clase*camposm"todos%&
características
,
compor am en os
8/18/2019 Conceptos POO v1
31/45
Las clases de Java (acilitan la creaci$n de tipo de
datos abstractos %-./&' lo cual ocultan suimplementaci$n a los clientes %usuarios de la clase&)
8/18/2019 Conceptos POO v1
32/45
Los -./ proporcionan una inter(a0 %conjunto de m"todos&o(recidos por las clases& independientes a laimplementaci$n a sus clientes)
8/18/2019 Conceptos POO v1
33/45
8/18/2019 Conceptos POO v1
34/45
pac6age seanaB
pu$lic class Estudiante %
pri!ate long nueroCuentapri!ate String no$re
pri!ate String apellidoPaterno
pri!ate String apellidoMaterno
pri!ate long tele4ono
pri!ate String direccion
pu$lic Estudiante&)%
nueroCuenta*++
no$re*3sin no$re3
apellidoPaterno*3Sin apellido paterno3
apellidoMaterno*3Sin apellido aterno3tele4ono*++
direccion*3Sin direccion3
2
pu$lic long getJueroCuenta&) %
return nueroCuenta
2
pu$lic !oid setJueroCuenta&long nueroCuenta) %
this.nueroCuenta * nueroCuenta
2
8/18/2019 Conceptos POO v1
35/45
pac6age prue$asB
iport seanaB.Estudiante
pu$lic class Prue$aEstudiante %
pu$lic static !oid ain&String'( args) %
Estudiante alunoKno*new Estudiante&)
alunoKno.setJueroCuenta&=@@)
alunoKno.setJo$re&3Miguel Angel3)
alunoKno.setApellidoPaterno&3Sanchez3)
alunoKno.setApellidoMaterno&3Hernandez3)
alunoKno.setQele4ono&B7@=)
alunoKno.set9ireccion&3AG. Siepre Gi!a3)
2
2
8/18/2019 Conceptos POO v1
36/45
9esplegar el estado de los capos del o$jeto alunoKno
pac6age prue$asBiport seanaB.Estudiante
pu$lic class Prue$aEstudiante %
pu$lic static !oid ain&String'( args) %
Estudiante alunoKno*new Estudiante&)
alunoKno.setJueroCuenta&=@@)alunoKno.setJo$re&3Miguel Angel3)
alunoKno.setApellidoPaterno&3Sanchez3)
alunoKno.setApellidoMaterno&3Hernandez3)
alunoKno.setQele4ono&B7@=)
alunoKno.set9ireccion&3AG. Siepre Gi!a3)
S0ste.out.println&3Juero Cuenta# 31alunoKno.getJueroCuenta&))
S0ste.out.println&3Jo$re# 31alunoKno.getJo$re&))
S0ste.out.println&3Apelldo Paterno# 31alunoKno.getApellidoPaterno&))
S0ste.out.println&3Apellido Materno#31alunoKno.getApellidoMaterno&))
S0ste.out.println&3Qele4ono# 31alunoKno.getQele4ono&))
S0ste.out.println&39ireccion# 31alunoKno.get9ireccion&))
2
2
8/18/2019 Conceptos POO v1
37/45
Operaci"n nue!a
8/18/2019 Conceptos POO v1
38/45
1 Estudiante& nueroCuenta # long, no$re # String, apellidoPaterno # String,
apellidoMaterno # String, tele4ono # long, direccion # String )
Estudiante aluno9os*new Estudiante&DFose,Mora,Mora,==,
DCalle Sur)
8/18/2019 Conceptos POO v1
39/45
Galores por oisi"n de los capos de una clase
pu$lic class Estudiante %
pri!ate long nueroCuenta
pri!ate String no$re
pri!ate String apellidoPaterno
ri!ate Strin a ellidoMaterno
pri!ate long tele4ono
pri!ate String direccion
pu$lic Estudiante&)%
2
..
2
8/18/2019 Conceptos POO v1
40/45
pu$lic class Prue$aEstudiante %pu$lic static !oid ain&String'( args) %
Estudiante alunoKno*new Estudiante&)
S0ste.out.println&3Juero Cuenta# 31alunoKno.getJueroCuenta&))
S0ste.out.println&3Jo$re# 31alunoKno.getJo$re&))
S0ste.out.println&3Apelldo Paterno# 31alunoKno.getApellidoPaterno&))S0ste.out.println&3Apellido Materno#31alunoKno.getApellidoMaterno&))
S0ste.out.println&3Qele4ono# 31alunoKno.getQele4ono&))
S0ste.out.println&39ireccion# 31alunoKno.get9ireccion&))
2
2
Juero Cuenta# +
Jo$re# null
Apelldo Paterno# null
Apellido Materno#nullQele4ono# +
9ireccion# null
8/18/2019 Conceptos POO v1
41/45
Alcance de una !aria$le
pu$lic class AlcanceGaria$le %
pri!ate int :*+
pu$lic !oid alcance&)%
int :*=+
S0ste.out.println&3Galor de : es #31:)!erCapo&)
2
pri!ate !oid !erCapo&)%
S0ste.out.println&3El !alor del capo es# 31:)
2
2
pu$lic class Prue$aAlcanceGaria$le %
pu$lic static !oid ain&String'( args) %
AlcanceGaria$le alcance*new AlcanceGaria$le&)
alcance.alcance&)
2
2
8/18/2019 Conceptos POO v1
42/45
1orque no se ponen los si#uientes m"todos2
set3ombre%&'setSueldo%&'mpleado%&)
8/18/2019 Conceptos POO v1
43/45
Arreglo del tipo de dato a$stracto ue creaos nosotros
Ocupa la clase Epleado del tea de coposici"n ue creaos paracrear un arreglo del tipo de dato Epleado.
8/18/2019 Conceptos POO v1
44/45
pu$lic class Prue$as %pu$lic static !oid ain&String'( arg)%
Epleado'( personal* new Epleado'(
personal'+(*new Epleado&3Pedro3,3airez3,new 8echa&,,R),
new 8echa&@,@,RR+))
personal'(*new Epleado&3o$erto3,38ernandez3,new 8echa&=,=,R),new 8echa&R,R,RR+))
personal'=(*new Epleado&3Forge3,35ara3,new 8echa&R,R,R),
new 8echa&,,RR+))
!erc on .@ F9T en a e ante
4or&Epleado e#personal)%S0ste.out.println&e.cadenaEpleado&))
2
//!erciones anteriores
4or&int i*+i-personal.lengthi11)%
S0ste.out.println&personal'i(.cadenaEpleado&))2
2
2
8/18/2019 Conceptos POO v1
45/45
Crear una clase ConjuntoEntero. Cada o$jeto ConjuntoEntero puede alacenar en el
rango de + a ++. El conjunto se representa ediante un arreglo de !alores $oolean. El
eleento del arreglo a' i ( es true si el entero i se encuentra en el conjunto. El eleento
del arreglo a' j ( es 4alse si el entero j no se encuentra dentro del conjunto. El constructor
sin arguentos inicializara el arreglo coo !aci" es decir ue todos sus eleentos son4alse, se de$en hacer las siguientes Ntodos#
.UKni"n, se de$e crear un tercer conjunto ue sea la uni"n entre dos conjuntos.
=.UIntersecci n, se de e crear un tercer conjunto ue sea a intersecci n entre dos
conjuntos..UinsertarEleento.
B.UeliinarEleento.
@.UesIgualA.
7.UipriirEleentos, de$e de!ol!er los eleentos separados por especio.
Recommended