SlideShare una empresa de Scribd logo
1 de 33
Introducción a la
programación orientada por
objeto
Omar Lecca Gonzales
Carlos Rosas Díaz
Índice
 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.
 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.
 Este encapsulamiento es el paradigma
fundamental de la orientación por objetos.
Modelo de una tarea típica de
programación
Espacio del mundo real
Objetos reales
y actividades
Objetos abstractos y
operaciones en lenguaje de
programación
Objeto reales
(cambio de estado)
Datos e
información
Problema
Modelo
Programa
Algorítmo
Resultado
Usuario
Representar mediante
abstracción
Programador
Algorítmo del
mundo real
Resultado
Espacio del programa
Interpreta
Diseño Orientado por objeto
La naturaleza única del diseño orientado por objetos se
debe a su habilidad para construir basándose en tres
conceptos importantes del diseño del software:
•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
Procedimiento
1
Procedimiento
3
Procedimiento
2
Dato 1
Dato 3
Dato 2
Dato 4
M1
M3
M4 M2DATO 1
M1
M3
M4 M2DATO 3
M1
M3
M4 M2DATO 2
INVOCA 3
INVOCA 4
INVOCA 1
Fig. 2 Sistema convencional
Fig.3 Sistema Orientado por objeto
 Objeto.
 Identidad del objeto.
 Clase.
 Métodos.
 Polimorfismo.
 Herencia
 Encadenamiento dinámico.
Conceptos básicos sobre la
Orientación por Objetos
 ¿ Qué es un Objeto ?
Un objeto es una entidad física o abstracta
que tiene un comportamiento antes ciertos
estímulos, tanto externos como de otros
objetos específicos que se encuentran
dentro del sistema.
 ¿ Qué se puede considerar como objeto ?
 -Persona
 -Equipo Hardware
 -Materiales
 -Información
 -Software
 -Procesos
 -Procedimientos
 Objeto Físico:Horno
 Operaciones asociadas:
Encendido/Apagado/Cargado/Descargado.
 Objeto Abstracto:Cola
 Operaciones:
Agregar/Eliminar/Verificar vacía/
Verificar si llena/Primero cola/Siguiente cola/
 Identidad de un objeto
Cada objeto tiene su propia identidad que lo
distingue de los demás objetos. En otras
palabras, dos objetos distintos no son
iguales aunque todos los valores de sus
atributos sean idénticos.
Componentes para la construcción de Software
de un objeto.
 Cuando un objeto se transforma en una
realización de software, consta de una interfaz,
una estructura de datos privada y unos procesos
llamados operaciones o métodos que son los
únicos que pueden transformar legítimamente la
estructura de datos.
Diccionario ( )
Archivo Indizado
Añadir palabra
Suprimir palabra
Encontrar palabra
.
.
.
Interfase
Estructura de dato
Operaciones
Objeto del mundo
real
Representación abstracta de un objeto
 Tipos de objetos
 1.- Objetos reales
 1.1 Objeto físico: Son objetos extremamente
perceptibles
ejemplo(vista, olfato,gusto,oído)
 1.2 Objetos psíquicos: Son internamente
perceptibles. Ejemplo:
dolor, sentimiento, imágenes.
 2.- Objeto ideales no son perceptibles.
 2.1 Relaciones o asociaciones entre objetos
 2.2 Pensamientos
 2.3 Matemáticos, lógicos semiótico
 Clasificación:
 El proceso de clasificación es el enfoque
central de la orientación por objeto y concierne a
la agrupación de objetos con propiedades
(estructuras de datos o atributos) y
comportamiento (operaciones) similares dentro de
una clase.
 Una clase es la abstracción que describe
propiedades importantes para una aplicación.

 Type Tipo_opcion(Piscina,Sauna,Tennis,Golf);
 Class Hotel
 Propiedades
 Nombre: Cadena;
 Dirección: Cadena;
 Dueño: Compañia;
 Director: Persona;
 Facilidades: Set (Tipos_opcion):
 Operaciones
 Create ();
 Reserva_hab(Habitación:integer;
Huesped:Person,
Fecha_llegada,
Fecha_partida:Tipo_fecha)
end Hotel.
 Class Compañía
 Propiedades
 Nombre, Oficina_central, Teléfono: Cadena;
 .........
 Operaciones
 ..........
 end Compañia.
 Class Persona
 Propiedades
 Nombre, Dirección, Teléfono: Cadena;
 .........
 Operaciones
 ..........
 end Persona.
La Pedregosa
Av. Los proceres
Instancia de Compañia
Instancia de Persona
Piscina, Sauna, Golf
Instancia Compañía
Nombre
Oficina_general
Teléfono
Turisol
Mérida
22454
Instancia Persona
Dirección
Pedro perez
Calle 22 entre
Av. 2 y 3
Instancia de Hotel
Dirección
Nombre
Dueño
Gerente
Facilidades
Nombre
Fig. 5 Ejemplo de la clase Hotel
Conceptos básicos de la OxO
Aplicando
abstracción
Atributos
Tamaño del marco
Tamaño de la rueda
Material
Engranaje
Material
Operaciones
Pasos
Reparar
Cambio de posición
Conceptos básicos de la OxO
 Cómo se implanta una clase en C++
Class Nombre de la clase {
Miembros datos;
Miembros métodos;
};
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.
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.
 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.
 ¿ 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.
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 ");
}
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);
}
void persona::asigna_nombre(char *nomb_nuevo){
strcpy(nombre=new char [strlen(nomb_nuevo)+1],nomb);
}
persona::~persona(){
delete [] nombre;
delete [] apellido;
delete [] cedula;
delete [] sexo;
delete [] direccion;
}
 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.
 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.

Más contenido relacionado

La actualidad más candente

Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2Velmuz Buzz
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughWilfredy Inciarte
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Modelo de Objeto Semantico
Modelo de Objeto SemanticoModelo de Objeto Semantico
Modelo de Objeto SemanticoF
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Metodologia orientada a objeto - libro
Metodologia orientada a objeto -  libroMetodologia orientada a objeto -  libro
Metodologia orientada a objeto - librotaninof
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetosChristian Leon
 
DiseñO Orientado A Objetos
DiseñO Orientado A ObjetosDiseñO Orientado A Objetos
DiseñO Orientado A ObjetosFrancisco Godoy
 
Unidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareUnidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareAndhy H Palma
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 
Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)LindsayLeblanc3
 

La actualidad más candente (20)

Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Metodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaughMetodología orientada a objetos (omt). rumbaugh
Metodología orientada a objetos (omt). rumbaugh
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Metodologia omt
Metodologia omtMetodologia omt
Metodologia omt
 
Modelo de Objeto Semantico
Modelo de Objeto SemanticoModelo de Objeto Semantico
Modelo de Objeto Semantico
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Metodologia orientada a objeto - libro
Metodologia orientada a objeto -  libroMetodologia orientada a objeto -  libro
Metodologia orientada a objeto - libro
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Requerimientos2
Requerimientos2Requerimientos2
Requerimientos2
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Diseño orientado a objeto
 
Niveles de un sgbd
Niveles de un sgbdNiveles de un sgbd
Niveles de un sgbd
 
Tecnologia orientado a objetos
Tecnologia orientado a objetosTecnologia orientado a objetos
Tecnologia orientado a objetos
 
DiseñO Orientado A Objetos
DiseñO Orientado A ObjetosDiseñO Orientado A Objetos
DiseñO Orientado A Objetos
 
Unidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del softwareUnidad 3 paradigmas de la ingeniería del software
Unidad 3 paradigmas de la ingeniería del software
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
OOSE
OOSEOOSE
OOSE
 
Desarrollo Orientado a Objetos
Desarrollo Orientado a ObjetosDesarrollo Orientado a Objetos
Desarrollo Orientado a Objetos
 
Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)Lindsay (fundamentos y metodos de analisis y requirimientos)
Lindsay (fundamentos y metodos de analisis y requirimientos)
 

Similar a Introducción a la programación orientada por objetos

Programacion o o
Programacion o oProgramacion o o
Programacion o ostarduslex
 
Introducción poo
Introducción pooIntroducción poo
Introducción poog_torrealba
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetosvloor
 
planificación de proyecto de software
planificación de proyecto de softwareplanificación de proyecto de software
planificación de proyecto de softwareJosé Rojas
 
Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientosFundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientoslexiherrera
 
Too Tecnologia orientada a objetos
Too Tecnologia orientada a objetosToo Tecnologia orientada a objetos
Too Tecnologia orientada a objetosFrangelys Perez
 
01 Introduccion Programación Orientaeda a Objetos
01 Introduccion Programación Orientaeda a Objetos01 Introduccion Programación Orientaeda a Objetos
01 Introduccion Programación Orientaeda a ObjetosXavier Ochoa
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poodemon_628
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02luisortiz
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POOjvaldes9928
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Fundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimientoFundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimientoMonica Naranjo
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 

Similar a Introducción a la programación orientada por objetos (20)

Programacion o o
Programacion o oProgramacion o o
Programacion o o
 
Analisis y diseno_oo
Analisis y diseno_ooAnalisis y diseno_oo
Analisis y diseno_oo
 
Introducción poo
Introducción pooIntroducción poo
Introducción poo
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
planificación de proyecto de software
planificación de proyecto de softwareplanificación de proyecto de software
planificación de proyecto de software
 
Jose rojas
Jose rojasJose rojas
Jose rojas
 
Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientosFundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientos
 
Tare psitiva
Tare psitivaTare psitiva
Tare psitiva
 
Too Tecnologia orientada a objetos
Too Tecnologia orientada a objetosToo Tecnologia orientada a objetos
Too Tecnologia orientada a objetos
 
01 Introduccion Programación Orientaeda a Objetos
01 Introduccion Programación Orientaeda a Objetos01 Introduccion Programación Orientaeda a Objetos
01 Introduccion Programación Orientaeda a Objetos
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POO
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Fundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimientoFundamentos y metodos analisis de requerimiento
Fundamentos y metodos analisis de requerimiento
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 

Último

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 

Último (8)

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 

Introducción a la programación orientada por objetos

  • 1. Introducción a la programación orientada por objeto Omar Lecca Gonzales Carlos Rosas Díaz
  • 2. Índice  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
  • 3. 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.
  • 4.  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.  Este encapsulamiento es el paradigma fundamental de la orientación por objetos.
  • 5. Modelo de una tarea típica de programación Espacio del mundo real Objetos reales y actividades Objetos abstractos y operaciones en lenguaje de programación Objeto reales (cambio de estado) Datos e información Problema Modelo Programa Algorítmo Resultado Usuario Representar mediante abstracción Programador Algorítmo del mundo real Resultado Espacio del programa Interpreta
  • 6. Diseño Orientado por objeto La naturaleza única del diseño orientado por objetos se debe a su habilidad para construir basándose en tres conceptos importantes del diseño del software: •Abstracción. •Ocultamiento de la información. •Modularidad.
  • 7. 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.
  • 8. 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.
  • 9. Diferencia entre la programación convencional Procedimiento 1 Procedimiento 3 Procedimiento 2 Dato 1 Dato 3 Dato 2 Dato 4 M1 M3 M4 M2DATO 1 M1 M3 M4 M2DATO 3 M1 M3 M4 M2DATO 2 INVOCA 3 INVOCA 4 INVOCA 1 Fig. 2 Sistema convencional Fig.3 Sistema Orientado por objeto
  • 10.  Objeto.  Identidad del objeto.  Clase.  Métodos.  Polimorfismo.  Herencia  Encadenamiento dinámico.
  • 11. Conceptos básicos sobre la Orientación por Objetos  ¿ Qué es un Objeto ? Un objeto es una entidad física o abstracta que tiene un comportamiento antes ciertos estímulos, tanto externos como de otros objetos específicos que se encuentran dentro del sistema.
  • 12.  ¿ Qué se puede considerar como objeto ?  -Persona  -Equipo Hardware  -Materiales  -Información  -Software  -Procesos  -Procedimientos
  • 13.  Objeto Físico:Horno  Operaciones asociadas: Encendido/Apagado/Cargado/Descargado.  Objeto Abstracto:Cola  Operaciones: Agregar/Eliminar/Verificar vacía/ Verificar si llena/Primero cola/Siguiente cola/
  • 14.  Identidad de un objeto Cada objeto tiene su propia identidad que lo distingue de los demás objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idénticos.
  • 15. Componentes para la construcción de Software de un objeto.  Cuando un objeto se transforma en una realización de software, consta de una interfaz, una estructura de datos privada y unos procesos llamados operaciones o métodos que son los únicos que pueden transformar legítimamente la estructura de datos.
  • 16. Diccionario ( ) Archivo Indizado Añadir palabra Suprimir palabra Encontrar palabra . . . Interfase Estructura de dato Operaciones Objeto del mundo real Representación abstracta de un objeto
  • 17.  Tipos de objetos  1.- Objetos reales  1.1 Objeto físico: Son objetos extremamente perceptibles ejemplo(vista, olfato,gusto,oído)  1.2 Objetos psíquicos: Son internamente perceptibles. Ejemplo: dolor, sentimiento, imágenes.  2.- Objeto ideales no son perceptibles.  2.1 Relaciones o asociaciones entre objetos  2.2 Pensamientos  2.3 Matemáticos, lógicos semiótico
  • 18.  Clasificación:  El proceso de clasificación es el enfoque central de la orientación por objeto y concierne a la agrupación de objetos con propiedades (estructuras de datos o atributos) y comportamiento (operaciones) similares dentro de una clase.  Una clase es la abstracción que describe propiedades importantes para una aplicación. 
  • 19.  Type Tipo_opcion(Piscina,Sauna,Tennis,Golf);  Class Hotel  Propiedades  Nombre: Cadena;  Dirección: Cadena;  Dueño: Compañia;  Director: Persona;  Facilidades: Set (Tipos_opcion):  Operaciones  Create ();  Reserva_hab(Habitación:integer; Huesped:Person, Fecha_llegada, Fecha_partida:Tipo_fecha) end Hotel.
  • 20.  Class Compañía  Propiedades  Nombre, Oficina_central, Teléfono: Cadena;  .........  Operaciones  ..........  end Compañia.  Class Persona  Propiedades  Nombre, Dirección, Teléfono: Cadena;  .........  Operaciones  ..........  end Persona.
  • 21. La Pedregosa Av. Los proceres Instancia de Compañia Instancia de Persona Piscina, Sauna, Golf Instancia Compañía Nombre Oficina_general Teléfono Turisol Mérida 22454 Instancia Persona Dirección Pedro perez Calle 22 entre Av. 2 y 3 Instancia de Hotel Dirección Nombre Dueño Gerente Facilidades Nombre Fig. 5 Ejemplo de la clase Hotel
  • 22. Conceptos básicos de la OxO Aplicando abstracción Atributos Tamaño del marco Tamaño de la rueda Material Engranaje Material Operaciones Pasos Reparar Cambio de posición
  • 23. Conceptos básicos de la OxO  Cómo se implanta una clase en C++ Class Nombre de la clase { Miembros datos; Miembros métodos; };
  • 24. 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.
  • 25. 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.
  • 26.  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.
  • 27.  ¿ 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.
  • 28. 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 "); }
  • 29. 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); }
  • 31. persona::~persona(){ delete [] nombre; delete [] apellido; delete [] cedula; delete [] sexo; delete [] direccion; }
  • 32.  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.
  • 33.  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.