Professional Documents
Culture Documents
Tpicos del Da
Introduccin al diseo orientado por objeto Qu es la orientacin por objeto Diferencias entre la programacin convencional y la programacin orientada por objetos Conceptos bsicos
El diseo orientado por objetos (DOO), como otras metodologa de diseos orientados a la informacin crean una representacin del dominio del problema en el mundo real y lo transforma en un dominio de soluciones que es el software.
A diferencia de otros mtodos, el DOO da como resultado un diseo el cual interconexiona los objetos de datos (elementos de datos) y las operaciones de procesamiento, de forma tal que encapsula la informacin y el procesamiento.
Programa
Algortmo
El trmino "orientacin por objeto" significa que organizaremos el software como una coleccin de objetos discretos que incorporan tanto estructuras de datos como procedimientos. Esto contrasta con la programacin convencional, en la cual las estructura de datos y el comportamiento estn solo aproximadamente conectados.
El desarrollo orientado por objetos es una nueva forma de pensar acerca del software basado sobre abstracciones que existen en el mundo real. En este contexto, el desarrollo es referido a la primera parte del ciclo de vida del software: anlisis, diseo e implantacin.
Dato 4
Dato 3
Objeto. Identidad del objeto. Clase. Mtodos. Polimorfismo. Herencia Encadenamiento dinmico.
Qu es un Objeto ? Un objeto es una entidad fsica o abstracta que tiene un comportamiento antes ciertos estmulos, tanto externos como de otros objetos especficos que se encuentran dentro del sistema.
Qu se puede considerar como objeto ? -Persona -Equipo Hardware -Materiales -Informacin -Software -Procesos -Procedimientos
Objeto Fsico:Horno Operaciones asociadas: Encendido/Apagado/Cargado/Descargad o. Objeto Abstracto:Cola Operaciones: Agregar/Eliminar/Verificar vaca/ Verificar si llena/Primero cola/Siguiente cola/
Identidad de un objeto Cada objeto tiene su propia identidad que lo distingue de los dems objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idnticos.
Operaciones
Tipos de objetos
1.- Objetos reales 1.1 Objeto fsico: Son objetos extremamente perceptibles ejemplo(vista, olfato,gusto,odo) 1.2 Objetos psquicos: Son internamente perceptibles. Ejemplo: dolor, sentimiento, imgenes. 2.- Objeto ideales no son perceptibles. 2.1 Relaciones o asociaciones entre objetos 2.2 Pensamientos 2.3 Matemticos, lgicos semitico
Clasificacin: El proceso de clasificacin es el enfoque central de la orientacin por objeto y concierne a la agrupacin de objetos con propiedades (estructuras de datos o atributos) y comportamiento (operaciones) similares dentro de una clase. Una clase es la abstraccin que describe propiedades importantes para una aplicacin.
Los objetos que pertenecen a una clase se describen colectivamente por la definicin de una clase, esto significa que en lugar de describir los objetos individuales la orientacin por objeto concentra en un patrn tanto el estado como el comportamiento que es comn a todos los objetos de la clase. Esta clase de estructura que abarca tantos propiedades como comportamiento es la unidad natural de la abstraccin en los sistemas de orientacin por objeto y puede ser utilizarse para modelar tanto entidades objetos como relaciones entre los objetos.
Cada clase describe una posibilidad infinita de un conjunto individual de objetos. Cada objeto que pertenezca a una clase es llamado instancia de la clase.
La instanciacin es lo inverso a la clasificacin y concierne a la generacin de los distintos objetos de una clase. La distincin entre una clase y sus instancias es similar a la distincin entre una definicin de tipo y la declaracin de una variable en un lenguaje de programacin convencional. Sin embargo, la mayora de los sistemas orientados por objeto crean dinmicamente instancias por envo de mensajes "Nuevo" y "Crear" una clase.
Type Tipo_opcion(Piscina,Sauna,Tennis,Golf); Class Hotel Propiedades Nombre: Cadena; Direccin: Cadena; Dueo: Compaia; Director: Persona; Facilidades: Set (Tipos_opcion): Operaciones Create (); Reserva_hab(Habitacin:integer; Huesped:Person, Fecha_llegada, Fecha_partida:Tipo_fecha) end Hotel.
Class Compaa Propiedades Nombre, Oficina_central, Telfono: Cadena; ......... Operaciones .......... end Compaia. Class Persona Propiedades Nombre, Direccin, Telfono: Cadena; ......... Operaciones .......... end Persona.
Direccin
A v. Los procer es
I nstancia de Compaia I nstancia Per sona I nstancia de Persona Nombr e Direccin Pedr o perez Calle 22 entre A v. 2 y 3
Aplicando abstraccin
Conceptos Bsicos
class persona { // Mienbros Datos o Estructura de datos de la clase char nombre[15],apellido[15],cedula[15]; // Miembros Funcin o Mtodos de la clase public: void presenta_valores(); void asigna_nombre(char *nombre_nuevo); void asigna_apellido(char *apellido_nuevo); void asigna_cedula(char *cedula_nueva); void cumpleano(); }; // Observe que se debe finalizar con punto y coma.
Conceptos Bsicos
class persona { // Mienbros Datos o Estructura de datos de la clase char *nombre,*apellido,*cedula; // Miembros Funcin o Mtodos de la clase public: persona(); ~persona(); // Constructor de la clase // Destructor de la clase
void presenta_valores(); void asigna_nombre(char *nombre_nuevo); void asigna_apellido(char *apellido_nuevo); void asigna_cedula(char *cedula_nueva); void cumpleano(); }; // Observe que se debe finalizar con punto y coma.
Operaciones mtodos Una operacin es una funcin o transformacin que puede ser aplicada sobre los objetos en una clase. Por ejemplo: abrir, cerrar, ocultar, desplegar, son operaciones sobre una clase ventana. Cada operacin tiene un objeto destino con un argumento implcito. El comportamiento de la operacin depende de la clase destino.
fecha_nac.set("12","03","64");
strcpy(direccion=new char [80],"Calle 32 "); }
delete [] direccion;
}
Polimorfismo Polimorfismo significa que la misma operacin puede comportarse diferentemente sobre distintas clases. Por ejemplo, la operacin "mover" ejemplo puede comportarse diferentemente sobre una clase llamada Ventana y una clase llamada Piezas_ajedrez.
Polimorfismo Paramtrico: Se obtiene cuando una funcin trabaja uniformemente sobre un rango de tipos; esos tipos normalmente exhiben una estructura comn y puede comportarse de manera distinta para cada tipo. Polimorfismo de Inclusin: Es un polimorfismo utilizado por modelos de subtipos y herencia. En este tipo de polimorfismo un objeto puede pertenecer a clases diferentes que no necesariamente son disjuntas.
Polimorfismo por Overloading: En este caso el mismo nombre se utiliza para denotar diferentes funciones, y el contexto se utiliza para decidir cual funcin se debera ejecutar para una invocacin particular del nombre.
Polimorfismo por Coercin: Es una operacin semntica que convierte argumentos a los tipos esperado por una funcin, en una situacin que de otra forma resultara en un tipo de error. La coercin puede estar dada estticamente, insertndose automticamente entre argumentos y funciones a tiempo de compilacin o pueden tener que determinarse dinmicamente, con pruebas a tiempos de ejecucin sobre los argumentos.
Herencia La herencia consiste en el compartir atributos y mtodos entre clases basndose en una relacin jerrquica. Una clase puede definirse ampliamente y redefinirse sucesivamente en subclases ms refinadas. Cada subclase que se incorpora, hereda todas las propiedades de su superclase y adiciona sus propias y nicas propiedades.
Cargo Empleado Estudiante Denominacin Profesin Director Secretara Ao de experiencia Dependencia Idiomas Dependencia Carrera
Cargo Empleado Estudiante Denominacin Profesin Director Secretara Ao de experiencia Dependencia Idiomas Dependencia Carrera
Definicin de Herencia Mltiple: Una clase puede heredar rasgos de ms de una superclase. Una clase con ms de una superclase es llamada clase junta. Un rasgo de una clase ancestro que se encuentra ms de una vez a lo largo de una ruta solo se hereda una vez.
Vehculos Terrestres
Vehculos Acuticos
Carros
Vehculos Anfibios
Bote