SlideShare una empresa de Scribd logo
1 de 50
Introducción a la
programación orientada por
objeto
Tema 2
Prof. Domingo Hernández
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.
 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
Constructos básicos de la
programación OxO
 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.
Conceptos básicos de la OxO
 ¿ Qué se puede considerar como objeto ?
 -Persona
 -Equipo Hardware
 -Materiales
 -Información
 -Software
 -Procesos
 -Procedimientos
Conceptos básicos de OxO
 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/
Conceptos básicos de OxO
 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.
Conceptos básico de la OxO
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.
Conceptos básicos de la OxO
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
Conceptos básicos de la OxO
 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
Conceptos básicos de la OxO
 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.

Conceptos Básicos de la OxO
 Los objetos que pertenecen a una clase se describen
colectivamente por la definición de una clase, esto
significa que en lugar de describir los objetos individuales
la orientación por objeto concentra en un patrón tanto el
estado como el comportamiento que es común a todos los
objetos de la clase.
 Esta clase de estructura que abarca tantos propiedades
como comportamiento es la unidad natural de la
abstracción en los sistemas de orientación por objeto y
puede ser utilizarse para modelar tanto entidades objetos
como relaciones entre los objetos.

Conceptos Básicos de la OxO
 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 instanciación es lo inverso a la clasificación y
concierne a la generación de los distintos objetos de una
clase. La distinción entre una clase y sus instancias es
similar a la distinción entre una definición de tipo y la
declaración de una variable en un lenguaje de
programación convencional. Sin embargo, la mayoría de
los sistemas orientados por objeto crean dinámicamente
instancias por envío de mensajes "Nuevo" y "Crear" una
clase.
Conceptos básicos de la OxO
 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.
Conceptos básicos de la OxO
 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.
Conceptos Básicos de la OxO
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
Aplicando
abstracción
Objetos polígonos
Clase polígono
Atributos
Vértices
Color del borde
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.
 La segunda región contiene la lista de atributos, cada
nombre de atributo puede estar seguido por detalles
opcionales tales como tipo de atributo y valores por
defectos.
 La tercera región contiene los nombres de las operaciones.
Cada nombre de operación puede ser seguido por detalles
opcionales tales como listas de argumentos y tipos de
resultados. Los atributos y operaciones puede o no
mostrarse; esto depende del nivel de detalle deseado.
Conceptos básicos de la OxO
Nombre de la clase
Nombre_atributo1: tipo dato1= valor defecto1
Nombre_atributo2: tipo dato2= valor defecto2
.
.
.
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
void persona::asigna_nombre(char *nomb_nuevo){
strcpy(nombre=new char [strlen(nomb_nuevo)+1],nomb);
}
Conceptos básicos de la OxO
persona::~persona(){
delete [] nombre;
delete [] apellido;
delete [] cedula;
delete [] sexo;
delete [] direccion;
}
Conceptos básicos de la OxO
 Cómo se invoca un método sobre un
objeto?
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
Universal
Ad Hoc
Paramétrico
Inclusión
Overloading
Coerción
Polimorfismo
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.
 Herencia de Comportamiento ( herencia de
métodos).
Conceptos básicos de la OxO
Nombre
Persona
Empleado Estudiante
Secretaría
Director
Año de experiencia
Idiomas
Dependencia
Cargo
Denominación
Carrera
Edad
Dirección
Sexo
Profesión
Dependencia
Conceptos básicos de la OxO
 Tipos de Herencia:
 Simple.
 Múltiple
Conceptos básicos de la OxO
Nombre
Persona
Empleado Estudiante
Secretaría
Director
Año de experiencia
Idiomas
Dependencia
Cargo
Denominación
Carrera
Edad
Dirección
Sexo
Profesión
Dependencia
Conceptos básicos de la OxO
 Definición de Herencia Múltiple: Una clase
puede heredar rasgos de más de una
superclase. Una clase con más de una
superclase es llamada clase junta. Un rasgo
de una clase ancestro que se encuentra más
de una vez a lo largo de una ruta solo se
hereda una vez.
Conceptos básicos de la OxO
Vehículos
Vehículos Terrestres Vehículos Acuáticos
Carros
Vehículos
Anfibios
Bote
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.

Más contenido relacionado

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

Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetosvloor
 
Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++Christian Castro
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosLex Marin
 
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
 
Introducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdfIntroducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdfEnrique137614
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OOsullinsan
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1cesarmrl2
 
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
 
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
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A ObjetosAndrés
 
Guia flash
Guia flashGuia flash
Guia flashnatalia
 
Too Tecnologia orientada a objetos
Too Tecnologia orientada a objetosToo Tecnologia orientada a objetos
Too Tecnologia orientada a objetosFrangelys Perez
 

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

Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Intro oo
Intro ooIntro oo
Intro oo
 
Intro oo
Intro ooIntro oo
Intro oo
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++Programacion Orientada a Obejtos C++
Programacion Orientada a Obejtos C++
 
Analisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetosAnalisis y diseño orientado a odjetos
Analisis y diseño orientado a odjetos
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
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
 
Tare psitiva
Tare psitivaTare psitiva
Tare psitiva
 
Introducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdfIntroducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdf
 
Clases poo
Clases pooClases poo
Clases poo
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1
 
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
 
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
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
Analisis y diseno_oo
Analisis y diseno_ooAnalisis y diseno_oo
Analisis y diseno_oo
 
Guia flash
Guia flashGuia flash
Guia flash
 
Too Tecnologia orientada a objetos
Too Tecnologia orientada a objetosToo Tecnologia orientada a objetos
Too Tecnologia orientada a objetos
 

Último

tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 

Último (20)

tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 

Introducción a la programación orientada por objetos

  • 1. Introducción a la programación orientada por objeto Tema 2 Prof. Domingo Hernández
  • 2. 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
  • 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. 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.  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. Constructos básicos de la programación OxO  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. Conceptos básicos de la OxO  ¿ Qué se puede considerar como objeto ?  -Persona  -Equipo Hardware  -Materiales  -Información  -Software  -Procesos  -Procedimientos
  • 13. Conceptos básicos de OxO  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. Conceptos básicos de OxO  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. Conceptos básico de la OxO 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. Conceptos básicos de la OxO 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. Conceptos básicos de la OxO  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. Conceptos básicos de la OxO  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. Conceptos Básicos de la OxO  Los objetos que pertenecen a una clase se describen colectivamente por la definición de una clase, esto significa que en lugar de describir los objetos individuales la orientación por objeto concentra en un patrón tanto el estado como el comportamiento que es común a todos los objetos de la clase.  Esta clase de estructura que abarca tantos propiedades como comportamiento es la unidad natural de la abstracción en los sistemas de orientación por objeto y puede ser utilizarse para modelar tanto entidades objetos como relaciones entre los objetos. 
  • 20. Conceptos Básicos de la OxO  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 instanciación es lo inverso a la clasificación y concierne a la generación de los distintos objetos de una clase. La distinción entre una clase y sus instancias es similar a la distinción entre una definición de tipo y la declaración de una variable en un lenguaje de programación convencional. Sin embargo, la mayoría de los sistemas orientados por objeto crean dinámicamente instancias por envío de mensajes "Nuevo" y "Crear" una clase.
  • 21. Conceptos básicos de la OxO  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.
  • 22. Conceptos básicos de la OxO  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.
  • 23. Conceptos Básicos de la OxO 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
  • 24. 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
  • 25. Conceptos básicos de la OxO Aplicando abstracción Objetos polígonos Clase polígono Atributos Vértices Color del borde Color de relleno Operaciones Dibujar Borrar Mover
  • 26. 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.  La segunda región contiene la lista de atributos, cada nombre de atributo puede estar seguido por detalles opcionales tales como tipo de atributo y valores por defectos.  La tercera región contiene los nombres de las operaciones. Cada nombre de operación puede ser seguido por detalles opcionales tales como listas de argumentos y tipos de resultados. Los atributos y operaciones puede o no mostrarse; esto depende del nivel de detalle deseado.
  • 27. Conceptos básicos de la OxO Nombre de la clase Nombre_atributo1: tipo dato1= valor defecto1 Nombre_atributo2: tipo dato2= valor defecto2 . . . Nombre_operación1(lista de argumento):tipo_resultado1 Nombre_operación2 (lista de argumento):tipo_resultado2 . . .
  • 28. Conceptos básicos de la OxO  Cómo se implanta una clase en C++ Class Nombre de la clase { Miembros datos; Miembros métodos; };
  • 29. 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.
  • 30. 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.
  • 31. 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.
  • 32. 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.
  • 33. 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 "); }
  • 34. 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); }
  • 35. Conceptos básicos de la OxO void persona::asigna_nombre(char *nomb_nuevo){ strcpy(nombre=new char [strlen(nomb_nuevo)+1],nomb); }
  • 36. Conceptos básicos de la OxO persona::~persona(){ delete [] nombre; delete [] apellido; delete [] cedula; delete [] sexo; delete [] direccion; }
  • 37. Conceptos básicos de la OxO  Cómo se invoca un método sobre un objeto? Nombre del objeto.Nombre del método(lista de parámetros);
  • 38. 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.
  • 39. Conceptos básicos de la OxO Clasificación de Polimorfismo Universal Ad Hoc Paramétrico Inclusión Overloading Coerción Polimorfismo
  • 40. 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.
  • 41. 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.
  • 42. 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.
  • 43. 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.
  • 44. Conceptos básicos de la OxO Elementos capaces de ser heredados  Herencia Estructural.  Herencia de Comportamiento ( herencia de métodos).
  • 45. Conceptos básicos de la OxO Nombre Persona Empleado Estudiante Secretaría Director Año de experiencia Idiomas Dependencia Cargo Denominación Carrera Edad Dirección Sexo Profesión Dependencia
  • 46. Conceptos básicos de la OxO  Tipos de Herencia:  Simple.  Múltiple
  • 47. Conceptos básicos de la OxO Nombre Persona Empleado Estudiante Secretaría Director Año de experiencia Idiomas Dependencia Cargo Denominación Carrera Edad Dirección Sexo Profesión Dependencia
  • 48. Conceptos básicos de la OxO  Definición de Herencia Múltiple: Una clase puede heredar rasgos de más de una superclase. Una clase con más de una superclase es llamada clase junta. Un rasgo de una clase ancestro que se encuentra más de una vez a lo largo de una ruta solo se hereda una vez.
  • 49. Conceptos básicos de la OxO Vehículos Vehículos Terrestres Vehículos Acuáticos Carros Vehículos Anfibios Bote
  • 50. 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.