Sei sulla pagina 1di 31

Programacin orientado a objetos (POO)

Introduccin a los conceptos bsicos de este paradigma de programacin.

Introduccin
Es

un paradigma que se creo con la finalidad de facilitar la comprensin, estructura y funcionamiento de sistemas complejos. Tomando como base la estructura de comprensin que el hombre tiene de su realidad

Origen

Los conceptos de la programacin orientada a objetos tienen origen en Simula 67, un lenguaje diseado para hacer simulaciones, creado por OleJohan Dahl y Kristen Nygaard, del Centro de Cmputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosin combinatoria de cmo las diversas cualidades de diferentes naves podan afectar unas a las otras. Fueron refinados ms tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versin fue escrita sobre Basic) pero diseado para ser un sistema completamente dinmico en el cual los objetos se podran crear y modificar "sobre la marcha" (en tiempo de ejecucin) en lugar de tener un sistema basado en programas estticos. La programacin orientada a objetos se fue convirtiendo en el estilo de programacin dominante a mediados de los aos ochenta, en gran parte debido a la influencia de C++, una extensin del lenguaje de programacin C. Su dominacin fue consolidada gracias al auge de las Interfaces grficas de usuario (GUI), para las cuales la programacin orientada a objetos est particularmente bien adaptada. En este caso, se habla tambin de programacin dirigida por eventos.

POO

La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de programacin que usa los objetos en sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe variedad de lenguajes de programacin que soportan la orientacin a objetos.

Entendiendo a los objetos

Los objetos son entidades que tienen un determinado estado, comportamiento (mtodo) e identidad: El estado est compuesto de datos o informaciones; sern uno o varios atributos a los que se habrn asignado unos valores concretos (datos). El comportamiento est definido por los mtodos o mensajes a los que sabe responder dicho objeto, es decir, qu operaciones se pueden realizar con l. La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador (concepto anlogo al de identificador de una variable o una constante). Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interaccin llamados mtodos, que favorecen la comunicacin entre ellos. Esta comunicacin favorece a su vez el cambio de estado en los propios objetos. Esta caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento. Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para poder tratar los atributos con los que cuenta.

Conceptos Fundamentales

Principios del paradigma

Orientado a Objetos

CLASE:
Es una estructura que agrupa o aglutina seres, cosas (objetos) o conceptos, con atributos y operaciones similares.

Principios del paradigma

Orientado a Objetos

ATRIBUTO
Sustantivo que define el valor de un dato para cada uno de los objetos pertenecientes a una clase. Los atributos describen el estado de un objeto.

Principios del paradigma

Orientado a Objetos

MTODOS U OPERACIONES
Representan las acciones que pueden realizarse por un objeto o sobre un objeto.

Puede conducir a cambiar el estado del objeto o dato local del objeto. Cada mtodo tiene un cuerpo (conjunto de pasos) asociado con el

nombre de la operacin

Principios del paradigma

Orientado a Objetos

Principios del paradigma

Orientado a Objetos
Representacin UML

Doctor NombreClase
Nombre Genero cedulaProfesional Especialidad Consultorio Pacientes[ ] numCirujias Consultar( ) Operar( ) Contratar( ) Diagnosticar( ) EstudiarEspecialidad() cambiarPuesto( ) Personal mdico de un hospital

Atributos
o campos

u operaciones

Mtodos

Elementos de la clase

Responsabilidad
o descripcin

Principios del paradigma

Orientado a Objetos
Representacin UML

Automovil
color numPuertas numVelocidades marca modelo tipo arrancar( ) retroceder ( ) cambiarVelocidad( ) pintar( ) vender() reparar( )
Vehculo autopropulsado por un motor propio y destinado al transporte de personas

NombreClase

Atributos
o campos

u operaciones

Mtodos

Disea las clases: maestro alumno paciente Gato Perro

Responsabilidad
u descripcin

Principios del paradigma

Orientado a Objetos Consideraciones: El nombre de la clase comienza en Maysculas , sigue las reglas de los identificadores y va centrado Se consideran elementos de la clase tanto a sus atributos como a sus mtodos. Y estos tienen un nivel de acceso que puede ser: publico, que todas las clases de un entorno lo Pueden ver, modificar o ejecutar. privado, que solo otros elementes de la misma clase lo pueden ver, modificar o ejecutar.

* Siguen las reglas de los identificadores * inician su nombre con minscula *Los atributos adems pueden especificar su tipo de dato

*sintaxis: nivelAcceso *Ejemplo:

nombreAtributo : tipo

+ nombre: string + genero: string +cedulaProfesional: int + especialidad: string + consultorio: int - pacientes : Paciente[ ] - numCirujias: int

* En su nombre: siguen las reglas de los identificadores * inician su nombre con minscula *Los mtodos adems pueden especificar su firma. La firma de un mtodo es la combinacin del tipo de dato que regresa, su nombre y su lista de argumentos. sintaxis: nivelAcceso nombreMetodo( argumentos ): tipo Retorno

+ Consultar( Paciente x): EntradaExpediente - Operar( Paciente x, Enfermedad Y): EntradaExpediente - Contratar( Puesto puest): void - Diagnosticar( string[ ] padecimientos ):Diagnostico + EstudiarEspecialidad(Especialidad nombreEsp): Titulo - cambiarPuesto(Puesto nuevoPuest): void

Por lo tanto una definicin UML que considera el nivel de acceso, de sus componentes, tipo de dato en sus atributos y firma en sus mtodos quedara de la siguiente manera:

Doctor + nombre: string + genero: string +cedulaProfesional: int + especialidad: string + consultorio: int - pacientes : Paciente[ ] - numCirujias: int + Consultar( Paciente x): EntradaExpediente - Operar( Paciente x, Enfermedad Y): EntradaExpediente - Contratar( Puesto puest): void - Diagnosticar( string[ ] padecimientos ):Diagnostico + EstudiarEspecialidad(Especialidad nombreEsp): Titulo - cambiarPuesto(Puesto nuevoPuest): void Personal mdico de un hospital

Automovil

+ color: string + numPuertas: int + numVelocidades: int + marca: string + modelo: int + tipo: string - numSerie: string + arrancar( ): void - retroceder ( double distancia): void - cambiarVelocidad( int nvaVel): void - pintar( string color ):void + vender(double precio): void - reparar(diagnostico causa): bool
Vehculo autopropulsado por un motor propio y destinado al transporte de personas
Ahora completa la definicin UML que considere el nivel de acceso, de sus componentes, tipo de dato en sus atributos y firma en sus mtodos de las clases: Maestro, Alumno, Paciente, Gato y Perro

Principios del paradigma

Orientado a Objetos

ABSTRACCIN
Es la capacidad de concentrar las propiedades y comportamientos necesarios para la correcta representacin del objeto dentro de un sistema especifico.

Al disear una clase ponemos mas nfasis en el qu hace? En lugar de Cmo lo hace?

Automovil
color marca modelo precio
arrancar( ) retroceder ( ) cambiarVelocidad( ) vender()

Automovil
color marca Modelo placas arrancar( ) retroceder ( ) Pintar ( )

Principios del paradigma

Orientado a Objetos

ENCAPSULAMIENTO
El encapsulado es como un "envoltorio" que delimita los atributos y/o operaciones correspondientes a una clase o a un objeto. Recordemos que los elementos de una clase pueden ser privados, es decir que habr operaciones o informacin que se encuentre oculta
Automovil
cmo trabaja el motor para convertir la gasolina en impulso y hacer que el automvil avance?
- Avanzar(distancia x)

Principios del paradigma

Orientado a Objetos

OBJETO:
Es la instancia o un elemento representativo de una clase.
Automovil color numPuertas numVelocidades marca modelo tipo Tuw4332: Automovil Color= Rojo numPuertas=3 numVelocidades=5 Marca= vw Modelo= Beetle 2012 Tipo=Automtico vender() Tuw4389: Automovil Color= Azul elctrico numPuertas=5 numVelocidades=5 Marca= Ford Modelo= Fiesta 2011 Tipo=Estndar Reparar()

arrancar( ) retroceder ( ) cambiarVelocidad( ) pintar( ) vender() reparar()

Clase Objetos

Principios del paradigma

Orientado a Objetos Consideraciones al representar un objetos en UML

Automovil color numPuertas numVelocidades marca modelo tipo

NombreObjeto : Clase
Tuw4332: Automovil Color= Rojo numPuertas=3 numVelocidades=5 Marca= vw Modelo= Beetle 2012 Tipo=Automtico vender()
A cada atributo se le asigna con = el valor

arrancar( ) retroceder ( ) cambiarVelocidad( ) pintar( ) vender() reparar()

Clase

Principios del paradigma

Orientado a Objetos

Identidad:
Cada objeto posee su propiedad identidad inherente. En otras palabras: dos objetos sern distintos aun cuando los valores de todos sus atributos sean idnticos.
TUX8327: Automovil Color= Rojo numPuertas=3 numVelocidades=5 Marca= vw Modelo= Beetle 2012 Tipo=Automtico vender()

Tuw4332: Automovil Color= Rojo numPuertas=3 numVelocidades=5 Marca= vw Modelo= Beetle 2012 Tipo=Automtico vender()

Objetos

Principios del paradigma

Orientado a Objetos

Polimorfismo:
Significa que una misma operacin puede comportarse de modos distintos en diferentes clases o en una misma clase, de acuerdo a determinados factores. +consultar(string[ ] padecimientos):Receta

+consultar(string[ ] padecimientos, laboratorios[] result):Receta


+consultar(Laboratorios[ ] result):EntradaExpediente +consultar(string titulo):ISBNLibro +consultar(string titulo, string[] autores, string tema):Resumen

Principios del paradigma

Orientado a Objetos

Herencia:
Define una relacin entre una clase ms generalizada, y una o ms versiones refinadas de ella. Es compartir atributos y operaciones entre clases tomando como base una relacin jerrquica.
Trabajador +clave: int +departamento: string Contratar()

Profesor +clave: int +departamento: string + + horarios: horas[] + asignaturas: string[ ] +Contratar() + +AsignarGrupos() +Calificar()

Secretaria
+clave: int +departamento: string + + jefeInmediato: string + Actividades: string[ ] +Contratar() + +generarReportes() +organizarDocumentos()

Principios del paradigma

Orientado a Objetos

Signo + (se agrega)


Profesor +clave: int +departamento: string + + horarios: horas[] + asignaturas: string[ ] +Contratar() + +AsignarGrupos() +Calificar()
Se agregan los atributos de la clase Padre

Trabajador +clave: int +departamento: string Contratar()

Se agregan los atributos propios de la clase hijo

Clase Padre

Clase Hijo

Principios del paradigma

Orientado a Objetos Opcionalmente: Mensaje del sentido de la lectura


Profesor +clave: int +departamento: string + + horarios: horas[] + asignaturas: string[ ] +Contratar() + +AsignarGrupos() +Calificar()

Trabajador
+clave: int +departamento: string Contratar() Hereda de Hereda a

Clase Padre

Clase Hijo

Se coloca una flecha con punta vaca que apunta a la clase padre Que significa que : La clase Profesor hereda de la Clase trabajador EL Profesor es un tipo de Trabajador

Principios del paradigma

Orientado a Objetos

Profesor +clave: int +departamento: string + + horarios: horas[] + asignaturas: string[ ] +Contratar() + +AsignarGrupos() +Calificar()

Trabajador
+clave: int +departamento: string Contratar() Hereda de Hereda a

Principios del paradigma

Orientado a Objetos

Mensaje:
Medio a travs del cual los objetos se comunican entre s, transmitiendo o no informacin con la expectativa de que desencadenar una actividad.

Lilia :Doctor nombre=Lilia Bolaos Jurez cedulaProfesional= 345676 Especialidad= Pediatra Consultorio= 4
consultar() diagnosticar()

Pedro:Paciente nss= 34545678 Padecimientos={temperatura} seguirTratamiento() comprarMedicamento() tomarJarabe presentarseAnalisis()

Solicita: Pedro.tomarJarabe( )

Principios del paradigma

Orientado a Objetos

Espacio Englobador:
Es el entorno en el que existen las clases, objetos o mas espacios englobadores. salubridad Clnica
Laboratorio Doctor nombre cedulaProfesional especialidad consultorio
consultar() diagnosticar()

Paciente nss Padecimientos[] seguirTratamiento() tomarJarabe presentarseAnalisis()

ArchivoClinico

supervisor zona
presentarReportes()

Enfermera

Anexo I

1.- Comienza con letra 2.- solo admite mas letras, nmeros o guion de subrayado 3.- No admite espacios, signos, acentos, puntuacin 4.- preferentemente no use

Potrebbero piacerti anche