De Objetos y Clases

download De Objetos y Clases

of 6

Transcript of De Objetos y Clases

  • 7/24/2019 De Objetos y Clases

    1/6

    De Objetos y ClasesEmpezamos con algo suavito. Qu es un objeto? Qu es una clase? Son lo mismo? En qu se parecen y

    i!erencian?

    "na clasees algo conceptual# es la e!inici$n# m%s bien la basee los objetos. &as clases e!inen

    las propiedadesy los mtodosque luego por%n usar los objetos. En trminos e una aplicaci$n# usaremos un

    usuario. Sabemos que un usuario va a tener# por ejemplo# un valor usuarioy otro valor passwordas' comoun mtodopara (acer login.

    El objeto# por otro lao# es la usuario en s' que se ajusta a lo que (emos e!inio en la clase.)or tanto# tenemos

    al usuario juancon contrase*a 01juan01y sabemos que puee (acerlogin. Se ice que juanes

    una instanciael objeto Usuario. )oemos tener cienesy cienes e usuarios# pero sabemos que toos ellos

    tienen lo mismo.

    +(ora en ),)

    Crear una clase en ),) es bastante sencillo y no i!iere muc(o a como se (ace en otros lenguajes e

    programaci$n-

    +(ora veamos c$mo poemos crear a juan. Solo tenremos que valernos e la palabra clave new.

    )or a(ora !%cil# no?

    +*aieno propieaes

    "na propiea no es m%s que una variable# y la usaremos para guarar in!ormaci$n sobre el objeto en s'. eamos

    c$mo a*air nuestras propieaes.

    En seguia veremos qu es public. )or a(ora quate con que la propiea es pblicalo cual quiere ecir quecualquiera puee acceer a ella. Despus e public# tenemos el nombre e la propiea.

    eamos c$mo escribir y leer estas propieaes.

  • 7/24/2019 De Objetos y Clases

    2/6

    Si te !ijas# estamos usano $juan->[nombre_propiedad]. Quiz% te ests preguntano/ por qu no pueo

    (acer algo as'? Usuario->usuario. &a respuesta es# que puee (aber un n0mero ineterminao e usuarios y#

    el valor 12juan12 est% entro el objeto# no e la clase.

    +*aieno mtoos

    +*air mtoos es tan sencillo como a*air propieaes. amos a a*air un mtoo para saluar.

    &o primero que te estar%s preguntano es/ qu es $this? $thises la !orma que tienen los objetos e re!erirse

    a s' mismos. )or ene# para poer acceer al valor e $usuarioese el propio objeto# tenremos que valernos

    e $this.

    &lamar al mtoo no tiene muc(o misterio-

    +(ora# si usamos varios objetos# poemos almacenar valores istintos en ellos y llamar a sus mtoos-

    3toos m%gicos),) nos o!rece una serie e mtoos m%gicos que son llamaos cuano realizamos ciertas acciones con el

    objeto# como por ejemplo cuano un objeto es creao. Esto nos ayua a automatizar trabajo en ciertas ocasiones.

    Constructores y estructores

    Cuano una clase se crea o se estruye# se llama a unos mtoos m%gicos como ya (emos aelantao. Si

    queremos realizar alguna acci$n en cualquiera e los os eventos# tenremos que e!inir esos mtoos e

    implementar su !uncionalia.

    El mtoo __construct()se llama cuano creamos una clase y suele ser un buen punto para rellenar

    in!ormaci$n por e!ecto# o !ormar un objeto con algo que venga e la base e atos# etc.

    Cabe estacar que poemos pasar atos al constructor-

  • 7/24/2019 De Objetos y Clases

    3/6

    )or otro lao# el estructor se llama cuano la clase es estruia. Esto ocurre autom%ticamente cuano ),)

    termina e ejecutarse# libera toos los recursos que tenga asociaos y va llamano al mtoo __destruct()e

    toas las clases en caso e que lo tengan. 4ambin poemos !orzarlo usano la !unci$n unsetsobre el objeto. En

    el estructor se suelen implementar cierres e cone5iones a bases e atos# liberaci$n e memoria# etc.

    e%moslo en un breve ejemplo-

    E5isten m%s mtoos m%gicos que (e obviao porque no los consiero importantes para un curso bsicoe

    orientaci$n a objetos. 6o obstante si eres curioso o quieres saber m%s# no ejes e ec(arle un vistazo a

    laocumentaci$n o!icial.

    ,erencia e clases+qu' es one veremos uno e los aspectos m%s potentes e la orientaci$n a objetos. "na clase

    puee heredarpropieaes y mtoos e otra clase. Esto es 0til cuano quieres a*air !uncionalia a una clase

    ya e5istente.

    Siguieno nuestro ejemplo# nuestra clase padrees Usuarioy a(ora# vamos a crear una clasehijaque

    sea Administrador.

    http://www.php.net/manual/es/language.oop5.magic.phphttp://www.php.net/manual/es/language.oop5.magic.phphttp://www.php.net/manual/es/language.oop5.magic.php
  • 7/24/2019 De Objetos y Clases

    4/6

    "sano la palabra clave etends# la clase Administrador(a (ereao las propieaesusuarioy passwordy

    el mtoo saludary (emos a*aio un nuevo mtoo baneara esta clase e5tenieno las !uncionaliaes

    b%sicas e un usuario. Quiz% el ejemplo sea muy absuro pero tene en cuenta que poemos querer implementar

    !unciones m%s complejas comologin# logout# etc. y e esta !orma nos acabamos a(orrano muc('simo c$igo.

    Qu pasar'a si quiero que saluar sea istinto en el +ministraor?

    Sobreescribieno mtoos

    Sobreescribir un mtoo es tan sencillo como/ 7volverlo a e!inir8 En la clase (ija# volvemos a e!inir el mtoo

    saluar.

    Si aem%s queremos mantener la !uncionalia original# poemos (acerlo llamano a la !unci$n el padre-

  • 7/24/2019 De Objetos y Clases

    5/6

    Como ver%s# (emos mezclao !uncionaliaes e ambos mtoos.

    isibilia e mtoos y propieaes,asta a(ora tanto las propieaes como los mtoos que (emos vistos# eran toos public. +(ora vamos a ver

    qu signi!ica eso y el resto e tipos que tenemos.

    public

    + los mtoos y propieaes public# se puee acceer ese cualquier sitio. 4anto entro e la clase como

    !uera.

    protected

    Cuano eclaramos una propiea o mtoo comoprotected, solo poremos acceerlos ese la propia

    clase o sus escenientes 9las clases (ijas:.

    private

    &os mtoos y propieaespri!atesolo pueen ser le'os entro e la propia clase que lo e!ine. Este breve

    ejemplo nos muestra lo que pasar'a-

    Clases y mtoos est%ticos&as clases y mtoos est%ticos pueen ser e cualquiera e los tipos

    anteriores#public,protectedo pri!atepero tienen la peculiaria e que no requieren que la clase sea

    instanciaa. +em%s# las propieaes est%ticas guaran el valor urante la ejecuci$n el script. eamos un breve

    ejemplo-

  • 7/24/2019 De Objetos y Clases

    6/6

    4en en cuenta# que cuano nos re!erimos a una propiea o mtoo est%tico# no poremos (acer uso e$this,

    pero tenremos acceso asel", que viene a ser lo mismo solo que 0nicamente poremos usar mtoos y

    propieaes est%ticas. )uees llamar a mtoos y usar propieaes est%ticas ese un mtoo p0blico pero no al

    contrario.

    ; (asta aqu' / por a(ora. +(ora mismo tenr'as que tener una iea m%s clara el estilo e programaci$n con

    objetos. 4e recomieno que empieces a probar por tu cuenta y# si tienes uas# vengas y las comentes. +prener la

    programaci$n orientaa a objetos es uno e los pasos importantes e la via e too programaor. Cuano se

    lleva a cabo e la !orma aecuaa# el c$igo proucio ser% m%s !%cil e leer# e mantener e incluso por%s

    compartir clases entre istintas aplicaciones ya que una clase solo ebe contener c$igo relacionao con su propia

    clase.