Conceptos POO v1

download Conceptos POO v1

of 45

Transcript of Conceptos POO v1

  • 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.