SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
Introducción a la programación orientada por objeto,[object Object]
Tópicos del Día,[object Object],Introducción al diseño orientado por objeto,[object Object],Qué es la orientación por objeto,[object Object],Diferencias entre la programación convencional y la programación orientada por objetos,[object Object],Conceptos básicos,[object Object]
Introducción al diseño orientado por objetos,[object Object],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. ,[object Object]
Introducción al diseño OxO,[object Object],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.  ,[object Object],Este encapsulamiento es el paradigma  fundamental de la orientación por objetos.,[object Object]
Modelo de una tarea típica de programación,[object Object]
Diseño Orientado por objeto,[object Object],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:  ,[object Object],[object Object]
Ocultamiento de la información.
Modularidad. ,[object Object]
Qué es el desarrollo Orientado por Objetos,[object Object],El desarrollo orientado por objetos es una nueva forma de pensar acerca del software basado sobre abstracciones que existen en el mundo real.  ,[object Object],En este contexto, el desarrollo es referido a la  primera parte del ciclo de vida del software:  análisis, diseño  e implantación.,[object Object]
Diferencia entre la programación convencional ,[object Object]
Constructos básicos de la programación OxO,[object Object],Objeto.,[object Object],Identidad del objeto.,[object Object],Clase.,[object Object],Métodos.,[object Object],Polimorfismo.,[object Object],Herencia,[object Object],Encadenamiento dinámico.,[object Object]
Conceptos básicos sobre la Orientación por Objetos,[object Object],¿ Qué es un Objeto ?,[object Object],   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.,[object Object]
Conceptos básicos de la OxO,[object Object],¿ Qué se puede considerar como objeto ?,[object Object],	-Persona,[object Object],	-Equipo Hardware,[object Object],	-Materiales,[object Object],	-Información,[object Object],	-Software,[object Object],	-Procesos,[object Object],	-Procedimientos ,[object Object]
Conceptos básicos de OxO,[object Object],Objeto Físico:Horno,[object Object],Operaciones asociadas: 	Encendido/Apagado/Cargado/Descargado.,[object Object],Objeto Abstracto:Cola,[object Object],Operaciones:			Agregar/Eliminar/Verificar vacía/,[object Object],		Verificar si llena/Primero cola/Siguiente cola/,[object Object]
Conceptos básicos de OxO,[object Object],Identidad de un objeto,[object Object],   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.  ,[object Object]
Conceptos básico de la OxO,[object Object],Componentes para la construcción de Software de un objeto.,[object Object],	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.,[object Object]
Conceptos básicos de la OxO,[object Object],Representación abstracta de un objeto,[object Object]
Conceptos básicos de la OxO,[object Object],Tipos de objetos,[object Object],1.-Objetos reales ,[object Object],1.1	Objeto físico:	Son objetos extremamente 			perceptibles 						ejemplo(vista, olfato,gusto,oído),[object Object],1.2	Objetos psíquicos: Son internamente perceptibles.  Ejemplo: 						dolor, sentimiento, imágenes.,[object Object],2.-Objeto ideales no son perceptibles.,[object Object],2.1	Relaciones o asociaciones entre objetos	,[object Object],2.2	Pensamientos,[object Object],2.3	Matemáticos, lógicos semiótico,[object Object]
Conceptos básicos de la OxO,[object Object],Clasificación:,[object Object],	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.,[object Object],	Una clase  es la abstracción que describe propiedades importantes para una aplicación.,[object Object]
Conceptos Básicos de la OxO,[object Object],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. ,[object Object],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. ,[object Object]
Conceptos Básicos de la OxO,[object Object],Cada clase describe una posibilidad infinita de un conjunto individual de objetos.  Cada objeto que pertenezca a una clase es llamado instanciade la clase.,[object Object],	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.,[object Object]
Conceptos básicos de la OxO,[object Object],Type		Tipo_opcion(Piscina,Sauna,Tennis,Golf);,[object Object],Class Hotel,[object Object],Propiedades ,[object Object],Nombre: Cadena;,[object Object],			Dirección: Cadena;,[object Object],			Dueño: Compañia;,[object Object],			Director: Persona;,[object Object],			Facilidades: Set (Tipos_opcion):,[object Object],Operaciones,[object Object],			Create ();,[object Object],			Reserva_hab(Habitación:integer; 				Huesped:Person, 						Fecha_llegada,,[object Object],				Fecha_partida:Tipo_fecha),[object Object],		end Hotel.,[object Object]
Conceptos básicos de la OxO,[object Object],Class Compañía,[object Object],Propiedades,[object Object],Nombre, Oficina_central, Teléfono: Cadena;,[object Object],		.........,[object Object],Operaciones,[object Object],	..........,[object Object],end Compañia.,[object Object],Class Persona,[object Object],Propiedades,[object Object],Nombre, Dirección, Teléfono: Cadena;,[object Object],			.........,[object Object],Operaciones,[object Object],			..........,[object Object],end Persona.,[object Object]
Conceptos Básicos de la OxO,[object Object]
Conceptos básicos  de la OxO,[object Object]
Conceptos básicos de la OxO,[object Object]
Conceptos básicos de la OxO,[object Object],Notación para representar una clase.,[object Object],Una clase se representa por una caja la cual puede tener 3 regiones.  ,[object Object],La primera región contiene el nombre de la clase.,[object Object], 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.,[object Object],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. ,[object Object]
Conceptos básicos de la OxO,[object Object],Nombre de la clase,[object Object],Nombre_atributo1: tipo dato1= valor defecto1,[object Object],Nombre_atributo2: tipo dato2= valor defecto2,[object Object],.,[object Object],.,[object Object],.,[object Object],Nombre_operación1(lista de argumento):tipo_resultado1,[object Object],Nombre_operación2 (lista de argumento):tipo_resultado2,[object Object],.,[object Object],.,[object Object],.,[object Object]
Conceptos básicos de la OxO,[object Object],Cómo se implanta una clase en C++,[object Object],Class Nombre de la clase {,[object Object],		Miembros datos;,[object Object],		Miembros métodos;,[object Object],};,[object Object]
Conceptos Básicos,[object Object],class persona {,[object Object],// Mienbros Datos o Estructura de datos de la clase,[object Object],	charnombre[15],apellido[15],cedula[15];,[object Object],	// Miembros Función o Métodos de la clase,[object Object],	public:,[object Object],      	void presenta_valores();,[object Object],	void asigna_nombre(char *nombre_nuevo);,[object Object],	void asigna_apellido(char *apellido_nuevo);,[object Object],	void asigna_cedula(char *cedula_nueva);,[object Object],	void cumpleano();,[object Object],}; // Observe que se debe finalizar con punto y coma.,[object Object]
Conceptos Básicos,[object Object],class persona {,[object Object],// Mienbros Datos o Estructura de datos de la clase,[object Object],	char *nombre,*apellido,*cedula;,[object Object],	// Miembros Función o Métodos de la clase,[object Object],	public:,[object Object],	persona();      // Constructor de la clase,[object Object],      	~persona();     // Destructor de la clase,[object Object],	void presenta_valores();,[object Object],	void asigna_nombre(char *nombre_nuevo);,[object Object],	void asigna_apellido(char *apellido_nuevo);,[object Object],	void asigna_cedula(char *cedula_nueva);,[object Object],	void cumpleano();,[object Object],}; // Observe que se debe finalizar con punto y coma.,[object Object]
Conceptos básicos de la OxO,[object Object],Operaciones ó métodos,[object Object],	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.,[object Object],	Cada operación tiene un objeto destino con un argumento implícito. El comportamiento de la operación depende de la clase destino.,[object Object]
Conceptos básicos de la OxO,[object Object],¿ Cómo se declara una función miembro de la clase ? (menos los constructores y destructores),[object Object],Tipo que devuelvenombre de la clase: : nombre del método (Lista de parámetros  ) {,[object Object],			cuerpo de la función o método,[object Object],};,[object Object],	Los : : son conocidos como el alcance del operador resolución, lo que indica al compilador donde comienza la función. ,[object Object]
Conceptos básicos de la OxO,[object Object],persona::persona(){,[object Object],       strcpy(nombre=new char [30],"Domingo");,[object Object],       strcpy(apellido=new char [30],"Hernandez");,[object Object],       strcpy(cedula=new char [13],"v.-8.333.439");,[object Object],       strcpy(sexo=new char [13],"Masculino");,[object Object],       fecha_nac.set("12","03","64");,[object Object],       strcpy(direccion=new char [80],"Calle 32 ");,[object Object],},[object Object]
Conceptos básicos de la OxO,[object Object],persona::persona(char *nomb,char *apell, char *ced, char *sex, char *d, char *m, char *a, char *direcc ){,[object Object],       strcpy(nombre=new char [strlen(nomb)+1],nomb);,[object Object],       strcpy(apellido=new char [strlen(apell)+1],apell);,[object Object],       strcpy(cedula=new char [strlen(ced)+1],ced);,[object Object],       strcpy(sexo=new char [strlen(sex)+1],sex);,[object Object],       fecha_nac.set(d,m,a);,[object Object],       strcpy(direccion=new char [strlen(direcc)+1],direcc);,[object Object], },[object Object]
Conceptos básicos de la OxO,[object Object],void persona::asigna_nombre(char *nomb_nuevo){,[object Object],       strcpy(nombre=new char [strlen(nomb_nuevo)+1],nomb);,[object Object], },[object Object]
Conceptos básicos de la OxO,[object Object],persona::~persona(){,[object Object],		delete [] nombre;,[object Object],		delete [] apellido;,[object Object],		delete [] cedula;,[object Object],		delete [] sexo;,[object Object],		delete [] direccion;,[object Object],		},[object Object]
Conceptos básicos de la OxO,[object Object],Cómo se invoca un método sobre un objeto?,[object Object],Nombre del objeto.Nombre del método(lista de parámetros);,[object Object]
Conceptos básicos de la OxO,[object Object],Polimorfismo,[object Object],	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. ,[object Object]
Conceptos básicos de la OxO,[object Object],Clasificación de Polimorfismo,[object Object], ,[object Object]
Conceptos básicos de la OxO,[object Object],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.,[object Object],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. ,[object Object]
Conceptos básicos de la OxO,[object Object],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. ,[object Object]
Conceptos básicos de la OxO,[object Object], ,[object Object],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.,[object Object]
Conceptos básicos de la OxO,[object Object],Herencia  ,[object Object],La herencia consiste en el compartir atributos y métodos entre clases basándose en una relación jerárquica.  ,[object Object],Una clase puede definirse ampliamente y redefinirse sucesivamente en subclases más refinadas.  ,[object Object],Cada subclase que se incorpora, hereda todas las propiedades de su superclase y adiciona sus propias y únicas propiedades.  ,[object Object]
Conceptos básicos de la OxO,[object Object],Elementos capaces de ser heredados,[object Object],Herencia Estructural.,[object Object],Herencia de Comportamiento ( herencia de métodos).,[object Object]
Conceptos básicos de la OxO,[object Object]
Conceptos básicos de la OxO,[object Object],Tipos de Herencia:,[object Object],Simple.,[object Object],Múltiple,[object Object]
Conceptos básicos de la OxO,[object Object]
Conceptos básicos de la OxO,[object Object],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. ,[object Object]
Conceptos básicos de la OxO,[object Object]

Contenu connexe

Similaire à Programacion o o

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
 
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
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetosjoalmerca6
 
Introducción poo
Introducción pooIntroducción poo
Introducción poog_torrealba
 
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
 
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
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSAbraham Morales
 
Metodologia
Metodologia Metodologia
Metodologia thekatyta
 
Abstracción de datos en java
Abstracción de datos en java Abstracción de datos en java
Abstracción de datos en java Izayoi Sakamaki
 

Similaire à Programacion o o (20)

Intro oo
Intro ooIntro oo
Intro oo
 
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
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
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
 
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
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Analisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A ObjetosAnalisis Y Diseño De Sistemas Orientado A Objetos
Analisis Y Diseño De Sistemas Orientado A Objetos
 
Introducción poo
Introducción pooIntroducción poo
Introducción poo
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
Programacionorientada a objetos
Programacionorientada a objetosProgramacionorientada a objetos
Programacionorientada a objetos
 
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 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
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Programacion orientada a objeto
Programacion orientada a objeto Programacion orientada a objeto
Programacion orientada a objeto
 
Metodologia
Metodologia Metodologia
Metodologia
 
Proceso de análisis
Proceso de análisisProceso de análisis
Proceso de análisis
 
Abstracción de datos en java
Abstracción de datos en java Abstracción de datos en java
Abstracción de datos en java
 

Programacion o o

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Ocultamiento de la información.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.