Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
Orientado a Objetos
CLASE:
Es una estructura que agrupa o aglutina seres, cosas (objetos) o conceptos, con atributos y operaciones similares.
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.
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
Orientado a Objetos
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
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
Responsabilidad
u descripcin
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
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
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 ( )
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)
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()
Clase Objetos
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
Clase
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
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
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()
Orientado a Objetos
Clase Padre
Clase Hijo
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
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
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()
Solicita: Pedro.tomarJarabe( )
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()
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