Base De Datos

Orientada a objetos

...O……………………………………………4 Abstracción……………………………………………………………................................O.............5 ¿Qué es una Clase?.......................9 BIBLIOGRAFÍA………………………………………………………….3 Características de la P...6 ¿Qué es una Instancia?............5 Herencia………………………………………………………………….....................................7 Estados en objetos…………………………………………………........7 Objetos en POO…………………………………………………………8 Mensajes en objetos…………………………………………………..........ÍNDICE ¿Qué es la Programación Orientada a Objetos?.....................4 Encapsulación………………………………………………………….......................9 2 ..

Es importante recalcar nuevamente que la POO no es un lenguaje de programación. un perro de un auto (porque son de clases diferentes) y también un TV de otro (porque. AS2. eso nos permite distinguir. Lo que caracteriza a la POO es que intenta llevar al mundo del código lo mismo que encontramos en El Mundo Real.. Cuando miramos a nuestro alrededor ¿qué vemos? pues. pero se ha constituido en una de las formas de programar más populares e incluso muchos de los lenguajes que usamos hoy día lo soportan o están diseñados bajo ese modelo (PHP.…). Éste es el modelo que la POO intenta seguir para estructurar un sistema. AS3. Incluso le permitirá enfrentar otros proyectos que no necesariamente estén relacionados con escribir código 3 . cosas. No es la única (o necesariamente mejor o peor que otras).P. Esto significa que la POO le servirá para desarrollar en muchos de los lenguajes comunes de hoy en día (incluso en ASPuaj!) manteniendo un mismo esquema mental. por sus siglas en inglés) es lo que se conoce como un paradigma o modelo de programación.O. Esto significa que no es un lenguaje específico. sino una forma de programar. aunque sean iguales.O. o una tecnología. una manera de plantearse la programación. objetos.O. cada uno es un objeto distinto). por ejemplo. es una forma de enfrentarse a ella.¿Qué es la Programación Orientada a Objetos? La P. (también conocida como O. pero podemos reconocer estos objetos porque cada objeto pertenece a una clase.

que una silla es tal otra. La abstracción nos permite dividir nuestro programa en distintos objetos que se agrupan para formar cosas más complejas.).O. Abstracción Cada vez que pronunciamos una palabra. etc. a su vez están compuestos por otros más pequeños: los órganos.O. cardiovascular. Decimos que un ave es tal cosa. hacen el trabajo. etc. pero al menos todos concuerdan en estas tres: 1. brazo(s). No hay un acuerdo aceptado por todo el mundo respecto a cuáles son las características que definen la POO. 2. está dividido en lo que conocemos por sistemas (el sistema respiratorio. Abstracción. Pero ¿qué demonios es realmente la abstracción? Básicamente es la capacidad de separar los elementos (mentalmente) para poder verlos de forma singular. Encapsulación. etc. lo que hacemos es seccionar nuestro código en grupos de código más pequeño que. Como cuando describimos el cuerpo humano y decimos cabeza. pierna(s). y así sucesivamente. Estos sistemas. 4 . al unirlos. realmente lo que hacemos es asociar ese sonido (o ese conjunto de garabatos al escribir) con una serie de cosas. 3.. el sistema linfático. Herencia. etc.Características de la P. aunque el cuerpo es una unidad. Es decir. lo primero que debemos hacer es cumplir con una vieja máxima de guerra: Divide y Vencerás. Un buen ejemplo de abstracción es el cuerpo humano. Cuando vamos a aplicar la POO.

que los botones sigan siendo los mismos y que el botón de “apagado” no cambie el volumen). es decir que la gallina hereda las características comunes de todas las aves. La encapsulación se encarga de mantener ocultos los procesos internos que necesita para hacer lo que sea que haga. sólo sabes que al presionar un botón ocurre la magia. Cuando me acuesto a ver televisión no me preocupo del modo como éste funciona. esto quiere decir que las gallinas tienen características comunes con otras aves (pico.O. A menos que seas experto en electrónica o técnico en televisores. 5 . o lo que hace para cambiar de canal o aumentar el volumen. plumas.). el hombre y cualquier otra cosa que pueda ser clasificada como animal. evitar tener que escribir el mismo código una y otra vez. automáticamente estamos atribuyéndoles las características generales de la primera. lo que significa que también comparte características comunes al caballo. dándole al programador acceso sólo a lo que necesita. Herencia: Uno de los elementos más interesantes de la P.Encapsulación: También conocida como ocultamiento. La herencia es la capacidad que tiene una clase de derivar las propiedades y métodos de otra Tratemos de explicarlo con un ejemplo: Decimos que una gallina es un ave. puesto que al definir que una categoría (que en programación llamaremos clase) pertenece a otra. puedes hacer cambios y/o mejoras sin que eso afecte el modo como los usuarios van a utilizar tu código. al hacer que la mayor parte del código esté oculto. La herencia nos permite. Esto da dos ventajas iniciales: Lo que hace el usuario puede ser controlado internamente (incluso sus errores). entre otras cosas. Sólo tienes que mantener igual la forma de acceder a él (en el caso del control de la tele. estas puertas de acceso que das a los usuarios son lo que se conoce como interfaz.O. etc. te pasará lo mismo: no lo sabes y no te importa. el perro. sin tener que definirlas de nuevo. Pero además. Por cierto. evitando que todo colapse por una intervención indeseada La segunda ventaja es que. resulta que un ave es un animal.

Así. Pero la cosa no termina allí. pico. Estos mecanismos los llamamos métodos.…) esas características las llamaremos en lenguaje de programadores. etc. atracción. reproducirse. sabemos que nos referimos a “algo” con plumas. a cada momento. o si tenemos un ave frente a nosotros. Entonces. podríamos escribir la clase ave colocando en ella todas las características que tienen las aves (pico. pero no podemos decir hoy haré volar la palabra “ave”). color. pero no en tu idea de una silla). siempre hablaremos de un animal concreto. En la POO ocurre igual. se comporta de una forma concreta. patas. dos patas. estamos clasificándolo. 6 . esta idea será la que dé forma al objeto que crearemos (que tendrá las características. pero nos permite clasificar las cosas. como comer. alto. también sabemos que las aves reaccionan ante ciertos sucesos. en tal caso siempre nos referiremos a esta o aquella ave. vemos que una clase es algo así como el concepto de lo que queremos hacer. una clase no es más que una serie de código que define a todos los elementos relacionados con ella. etc. propiedades. No es más que una palabra. Cada vez que decimos que algo es alguna cosa. La palabra es lo que conocemos como un concepto. Sin embargo. defensa… A esto lo llamaremos eventos. Por ejemplo. etc. La clasificación es algo que hacemos todos los días. mecanismos y comportamientos que habíamos pensado en nuestra idea). entendemos claramente que la palabra “ave” se refiere a alguna cosa que cumple con unas características específicas. del objeto. asociándolo a una clase. No importa realmente si hemos visto un ave o no. etc. dormir. sabemos que una gallina es un ave y que un perro no es un ave. sabemos que la palabra ave no se refiere a un animal concreto. una abstracción. Por último.¿Qué es una Clase? Cuando decimos “ave”. Sin embargo. como peligro. no puedo hacer nada directamente con una clase (puedes sentarte en una silla. resulta que las aves tienen también ciertos mecanismos específicos. pero igual que con las ideas. sino a una serie de animales. es como la idea (concebida al detalle) de la cosa. ancho. Ave es la palabra que usamos para identificarlos en un grupo.

decíamos que una clase es como la definición de un objeto. Cada vez que creamos una nueva instancia. 2. todas las instancias de esta clase se actualizarán automáticamente. Así que para sentarnos necesitaremos convertir esa idea en algo. una roja. puedo darles valores diferentes sin que afecten a las demás (como tener una silla negra. ésta adquiere las propiedades. Aunque comparten la misma estructura. dando versatilidad y flexibilidad al código. Al ser independientes de las otras instancias. a ese objeto lo llamamos instancia. pero no es el objeto en sí. 7 . sin embargo. en un objeto real. aunque a un nivel diferente). etc.). una más alta. métodos y eventos de la clase a la que pertenece. esto nos permite hacer cambios sin tener que ir a cada una de las instancias (se aplica el mismo principio de herencia. esto nos da dos ventajas: 1. del modo como una idea no es una cosa física (el ejemplo de la silla). pueden programarse individualmente. En un mismo proyecto puedo tener una o más instancias de una misma clase sin problemas.¿Qué es una Instancia? Bien. cada instancia es independiente de las otras. Si hago algún cambio en la clase.

8 .Objetos en POO Los objetos son ejemplares de una clase cualquiera.color = rojo El objeto es miCoche. Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee. pero cuando ya estamos hablando de una fracción en concreto 4/7. Por ejemplo. como por ejemplo rojo o gris metalizado. Estados en objetos Cuando tenemos un objeto sus propiedades toman valores. Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto. El concepto o definición de fracción sería la clase. miCoche. un objeto de la clase fracción es por ejemplo 3/5. pero será algo parecido a esto. cuando tenemos un coche la propiedad color tomará un valor en concreto. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación. Dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase coche. miCoche = new Coche() Con la palabra new especificamos que se tiene que crear una instancia de la clase que sigue a continuación. Por ejemplo. la llamamos objeto. 8/1000 o cualquier otra. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). El valor concreto de una propiedad de un objeto se llama estado. luego colocamos el operador punto y por último el nombre e la propiedad a la que deseamos acceder.

com/articulos/499.wordpress. dentro irían los parámetros.desarrolloweb. Por ejemplo. El polimorfismo sirve para que no tengamos que preocuparnos sobre lo que estamos trabajando.ponerseEnMarcha() En este ejemplo pasamos el mensaje ponerseEnMarcha(). Son conceptos avanzados que cuesta explicar en las líneas de ese informe. miCoche. cuando le decimos a un objeto coche que se ponga en marcha estamos pasándole el mensaje “ponte en marcha”. Así podremos construir unos objetos a partir de otros sin tener que reescribirlo todo. No hay que olvidar que existen libros enteros dedicados a la POO y aquí solo pretendemos dar un repaso a algunas cosas para que os suenen cuando tengáis que poneros delante de ellas en los lenguajes de programación que debe conocer un desarrollador del web. Hay mucho todavía que conocer de la POO ya que sólo hemos hecho referencia a las cosas más básicas.Mensajes en objetos Un mensaje en un objeto es la acción de efectuar una llamada a un método.com/poo/ 9 . seguido del método que deseamos invocar. Para mandar mensajes a los objetos utilizamos el operador punto. Hay que colocar paréntesis igual que cualquier llamada a una función. y abstraernos para definir un código que sea compatible con objetos de varios tipos. http://www. La herencia sirve para crear objetos que incorporen propiedades y métodos de otros objetos.php http://thefricky. También existen mecanismos como la herencia y el polimorfismo que son unas de las posibilidades más potentes de la POO.

-...248..7094. .O3/017.:.17.80 5074.3/4/0:3..05944/013.089..3/4..43.O3 807J.43.O303..

  .

..7.300850.704-094/0.43486:03.O3 03974/0485..3897:.0/05747..389.4393:.70..0    .80 6:08:0./4..0304...O30850.44..2484-094  !.80.75. . 4./0.0  43.7F3908854/7J.-7...7:3./0503/03/4003:..5.4.1.6:07497.7-7:3..7:34-0948090306:008.6:05:0/0807 /8939.4 5.70.3..O36:08002500 5074807E...2.:.0894  24.70.248.2486:08090306:0.7E209748 ..2.

248 0 4507./47 5:394  80:/4 /0 2F94/46:0/080...494/..3.447 942.47010703.8548-/./4/0.O3 /039747J.2.424 547 00254744478209.6:0/080.7..7094/0:3.6:08O402480. 0703.57450/.O3/0010.  !.06:080543../475:3945479240342-700 .0 4507..3/.3/49030248:34-0948:857450/.0 :04.0 54390032.O3     038.0 .7  24.2-.7 5. 2.43.3485.0 ..//0:34-09480 .424 .7E209748  ..248.248 5.7:3.7.:34-094.8250.474.7.248.2:.9:.08 .7 2038..0/07.  .. 57450/.0 54307803.44.1:3.. 6:0 .7094  ..0/07 3089000254089.7.2483..7.07/0...8 2E8 -E8.3/40 .4708 !4700254 ./.7E :3 ..8  %.4.3/40/0.89.43:3../48034-0948 :./...4..3/4 9030248 :3 .!    .248.7480:9..43.6:0.57450/.032. 48 4-0948 :9.47/0089.8E3/4002038.8/0.248 0 2038.  3 0890 00254 5.2-F3 08903 20.0 54307803./475:394  24..8..24804507.:32F94/4 !47 00254 ..:3.089.//04-094.447744 4-0940824./ .47 03 .6:0..744...6:07.078:.8 .434./.08034-0948 &32038.48.  0 5424718246:0843:3.47./08942.:..! .44.83./4  !.7../4 ./082E854903908/0...7F39088:..38248 . .7.:.089..2.:.003:34-09408.57450/.:3089.J.4..2-../4/0:34-0945.2.

0 5..43897:7:3484-0948.6:0488:0303./47/00-     995.434.390/00.3.774.3/4903E8 6:05430748/0.7:3705././08  2F94/48 /0 497484-0948 8J54/70248..O/46:080.0 5./48 6:0 .05948 .3/4 .:. 05.5./48 .85.43.4754703 57450/.8034803:..797/04974883903076:0 7008.70.7-7494/4   542471824 87.08/05747.07 :3/08..:5. ! 570903/0248/.425..-.7348 84-70 4 6:0 089..8 /0 080 314720  4   .8 J30.24897.-897.2.073485. 6:0 34 903.6:J 844 ..7.8.84.248 6:0 5704..7 03 . 6:0 4.48.7.9-0.:089.7 6:0 08903 -748 0390748 /0/. .7489548  $43 .7. . 87...:3./0137:3..O36:0/0-0.43 4-0948/0.7 4-0948 6:0 3.7. 0703.

.

 /08.77440- .42.

:48.79..

 55 995.

.

 47/57088 .9017.42.

544.

    .