Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion OO
Programacion OO
Tema 2
Prof. Fátima Del Rosario Reyes Tercero
Tópicos del Día
Introducción al diseño orientado por
objeto
Qué es la orientación por objeto
Diferencias entre la programación
convencional y la programación
orientada por objetos
Conceptos básicos
Introducción al diseño
orientado por objetos
El diseño orientado por objetos (DOO),
como otras metodología de diseños
orientados a la información crean una
representación del dominio del problema en
el mundo real y lo transforma en un
dominio de soluciones que es el software.
Introducción al diseño OxO
A diferencia de otros métodos, el DOO da como
resultado un diseño el cual interconexiona los
objetos de datos (elementos de datos) y las
operaciones de procesamiento, de forma tal que
encapsula la información y el procesamiento.
Programa
•Abstracción.
•Ocultamiento de la información.
•Modularidad.
Qué es la orientación por
objeto
El término "orientación por objeto" significa que
organizaremos el software como una colección de
objetos discretos que incorporan tanto estructuras
de datos como procedimientos.
Esto contrasta con la programación convencional,
en la cual las estructura de datos y el
comportamiento están solo aproximadamente
conectados.
Qué es el desarrollo Orientado
por Objetos
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: análisis, diseño e implantación.
Diferencia entre la
programación convencional
Dato 2
Dato 1
Procedimiento
2
Procedimiento
Dato 4
1
Procedimiento
Dato 3 3
Fig. 2 Sistema convencional
M1
M3
M1
INVOCA 1
M4 DATO 1M2
M3
M1
M4 DATO 3M2
INVOCA 3
M3
D ic c io n a r io ( ) In te rfa s e
A r c h iv o In d iz a d o E s tr u c tu r a d e d a to
O b je t o d e l m u n d o
re a l A ñ a d ir p a la b r a
S u p r im ir p a la b r a O p e r a c io n e s
E n c o n tra r p a la b ra
.
.
.
Atributos
Pasos
Reparar
Cambio de posición
Conceptos básicos de la OxO
Clase polígono
Objetos polígonos
Atributos
Vértices
Aplicando Color del borde
abstracción Color de relleno
Operaciones
Dibujar
Borrar
Mover
Conceptos básicos de la OxO
Notación para representar una clase.
Una clase se representa por una caja la cual puede tener 3
regiones.
La primera región contiene el nombre de la clase.
Nombre_operación1(lista de argumento):tipo_resultado1
Nombre_operación2 (lista de argumento):tipo_resultado2
.
.
.
Conceptos básicos de la OxO
Cómo se implanta una clase en C++
Class Nombre de la clase {
Miembros datos;
Miembros métodos;
};
Conceptos Básicos
class persona {
// Mienbros Datos o Estructura de datos de la clase
char nombre[15],apellido[15],cedula[15];
// Miembros Función o Métodos 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 Básicos
class persona {
// Mienbros Datos o Estructura de datos de la clase
char *nombre,*apellido,*cedula;
// Miembros Función o Métodos de la clase
public:
persona(); // Constructor de la clase
~persona(); // 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.
Conceptos básicos de la OxO
Operaciones ó métodos
Una operación es una función o
transformación que puede ser aplicada sobre los
objetos en una clase. Por ejemplo: abrir, cerrar,
ocultar, desplegar, son operaciones sobre una clase
ventana.
Cada operación tiene un objeto destino con
un argumento implícito. El comportamiento de la
operación depende de la clase destino.
Conceptos básicos de la OxO
¿ Cómo se declara una función miembro de la
clase ? (menos los constructores y destructores)
Tipo que devuelve nombre de la clase : : nombre
del método (Lista de parámetros ) {
cuerpo de la función o método
};
Los : : son conocidos como el alcance del
operador resolución, lo que indica al compilador
donde comienza la función.
Conceptos básicos de la OxO
persona::persona(){
strcpy(nombre=new char [30],"Domingo");
strcpy(apellido=new char [30],"Hernandez");
strcpy(cedula=new char [13],"v.-8.333.439");
strcpy(sexo=new char [13],"Masculino");
fecha_nac.set("12","03","64");
strcpy(direccion=new char [80],"Calle 32 ");
}
Conceptos básicos de la OxO
persona::persona(char *nomb,char *apell, char *ced, char *sex, char *d,
char *m, char *a, char *direcc ){
strcpy(nombre=new char [strlen(nomb)+1],nomb);
strcpy(apellido=new char [strlen(apell)+1],apell);
strcpy(cedula=new char [strlen(ced)+1],ced);
strcpy(sexo=new char [strlen(sex)+1],sex);
fecha_nac.set(d,m,a);
strcpy(direccion=new char [strlen(direcc)+1],direcc);
}
Conceptos básicos de la OxO
.
Nombre del objeto Nombre del método(lista de parámetros);
Conceptos básicos de la OxO
Polimorfismo
Polimorfismo significa que la misma
operación puede comportarse
diferentemente sobre distintas clases. Por
ejemplo, la operación "mover" ejemplo
puede comportarse diferentemente sobre
una clase llamada Ventana y una clase
llamada Piezas_ajedrez.
Conceptos básicos de la OxO
Clasificación de Polimorfismo
Paramétrico
Universal Inclusión
Polimorfismo
Ad Hoc Overloading
Coerción
Conceptos básicos de la OxO
Polimorfismo Paramétrico: Se obtiene cuando una
función trabaja uniformemente sobre un rango de
tipos; esos tipos normalmente exhiben una
estructura común y puede comportarse de manera
distinta para cada tipo.
Polimorfismo de Inclusión: 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.
Conceptos básicos de la OxO
Polimorfismo por Overloading: En este
caso el mismo nombre se utiliza para
denotar diferentes funciones, y el contexto
se utiliza para decidir cual función se
debería ejecutar para una invocación
particular del nombre.
Conceptos básicos de la OxO
Polimorfismo por Coerción: Es una operación
semántica que convierte argumentos a los tipos
esperado por una función, en una situación que de
otra forma resultaría en un tipo de error. La
coerción puede estar dada estáticamente,
insertándose automáticamente entre argumentos y
funciones a tiempo de compilación o pueden tener
que determinarse dinámicamente, con pruebas a
tiempos de ejecución sobre los argumentos.
Conceptos básicos de la OxO
Herencia
La herencia consiste en el compartir atributos y
métodos entre clases basándose en una relación
jerárquica.
Una clase puede definirse ampliamente y
redefinirse sucesivamente en subclases más
refinadas.
Cada subclase que se incorpora, hereda todas las
propiedades de su superclase y adiciona sus propias
y únicas propiedades.
Conceptos básicos de la OxO
Elementos capaces de ser heredados
Herencia Estructural.
métodos).
Conceptos básicos de la OxO
Nombre
Persona Edad
Dirección
Sexo
Cargo
Profesión
Director
Simple.
Múltiple
Conceptos básicos de la OxO
Nombre
Persona Edad
Dirección
Sexo
Cargo
Profesión
Director
Vehículos
Carros Bote
Anfibios
Conceptos básicos de la OxO
Encadenamiento Dinámico:
Una de las ventajas que promueve el estilo de
programación orientada por objeto es la característica
del encadenamiento dinámico, también llamado
encadenamiento tardío. En efecto, no se tendrían
sistemas orientados por objeto sin esa poderosa
capacidad.
Simplemente, la declaración encadenamiento
dinámico significa que el sistema encadenará una rutina
a un selector para un método particular que está
implantado sobre un objeto clase.