SlideShare uma empresa Scribd logo
1 de 29
Programación
Orientada a Objetos
Universidad Centroccidental “Lisandro Alvarado”
Decanato de Ciencias y Tecnología
Análisis de Sistemas
Departamento de Sistemas
Programación
Coordinación del Área de Programación Lapso 2013-1
Programación Orientadas a
Objetos
Agenda
Programación de Funciones
Programación Orientada a Objetos (POO)
Pilares de la Programación Orientada a
Objetos
Definición de Objeto
Definición de Clase
Representación de una Clase
Programación Orientadas a
Objetos
UNIDAD II. Primera Parte
Objetivo General
Aplicar los conceptos básicos de la POO, la técnica de modelado
orientado a objetos y la representación de las clases en un
lenguaje de programación
Objetivos Específicos
• Aplicar los conceptos básicos de la Programación Orientada a
Objetos (POO).
• Identificar los pilares fundamentales de la programación orientada a
objetos
• Implementar Programación Orientada a Objetos usando la
metodología de diseño.
Programación de Funciones
Función
• Contiene una o más sentencias y se crean
generalmente para realizar una única tarea.
• En la Programación Orientada a Objetos, las funciones
se utilizan para definir los métodos de las clases.
Implementación de una Función:
tipo_de_retorno NombreFuncion (lista parametros){
sentencias
return valor;
}
Programación de Funciones
Parámetros por valor
• Cuando C++ compila la
función y se ejecuta el código
que llama a la función, ésta
recibe una copia de los
valores de los parámetros
que se le pasan como
argumentos.
Parámetros por
Referencia (&)
• Cuando una función debe
modificar el valor del
parámetro pasado. En este
método el compilador pasa la
dirección de memoria del
valor del parámetro a la
función. Cuando se modifica
el valor del parámetro esta
queda almacenado en la
misma dirección de memoria.
Parámetros de una Función
• Se conocen como Argumentos.
• Una función puede utilizar parámetros por valor, por
referencia, o puede no tener parámetros.
Programación de Funciones
Parámetros de una Función según Ubicación
Parámetros Formales
• Están en la definición de
la función (cabecera).
Parámetros Actuales
• Están en cada llamada a
una función.
COMPATIBILIDAD ENTRE PARÁMETROS FORMALESY
PARÁMETROS ACTUALES
Regla
Compatibilidad Debe cumplir con lo siguiente
Misma cantidad
Para N parámetros formales deben haber N
parámetros actuales. Ej: si hay 3 parámetros
en los formales, deben haber 3 en los
actuales
Programación de Funciones
Parámetros de una Función según Ubicación
COMPATIBILIDAD ENTRE PARÁMETROS FORMALESY
PARÁMETROS ACTUALES
Regla
Compatibilidad Debe cumplir con lo siguiente
Mismo tipo
Deben ser parámetros del mismo tipo. Ej: Si
en los formales hay un char y un int,
igualmente deben haber un char y un int en
los actuales
Mismo orden
Deben estar en el mismo orden. Ej: si en los
formales hay un char y un int, y en los
actuales hay un int y un char, ambos pares
de parámetros tienen el mismo tipo pero no
están en el mismo orden.
Programación de Funciones
Ejemplos de Funciones
void ImprimirMensaje (string mensaje) {
cout << mensaje << endl;
}
Llamado de la función ImprimirMensaje
ImprimirMensaje (“Ingrese los siguientes datos:”);
void LimpiarPantalla () {
system (“cls”);
}
Llamado de las funciones anteriores
LimpiarPantalla ();
Programación de Funciones
Ejemplos de Funciones
void intercambio(int& m, int& n)
{
int aux=m;
m= n;
n= aux;
}
int i=3, j =50;
cout<< “i = “<< i << “y j = “ << j << endl;
// Llamado de la función intercambio
intercambio (i, j);
cout<< “i = “ << i << “y j = “ << j << endl;
Programación Orientada a
Objetos
Es un paradigma de programación que usa
objetos y sus interacciones, para diseñar
aplicaciones y programas de computadora.
Es una forma especial de programar, más
cercana a como expresaríamos las cosas en la
vida real.
Se basa en la idea natural de la existencia de un
mundo lleno de objetos, de modo que la
resolución del problema se realiza en términos
de objetos.
Programación Orientada a
Objetos
Pilares Fundamentales de la POO
Programación Orientada a
Objetos
Abstracción
•Consiste en captar las características esenciales de un
objeto, así como su comportamiento, al mismo tiempo
que se ignoran los detalles no esenciales.
•En programación, el término se refiere al énfasis en el
"¿qué hace?" más que en el "¿cómo lo hace?“.
Abstracción: ¿Qué es y que Hace?
i. Sumamos los números y dividimos entre 3
Ejemplo: el proceso para calcular el promedio de 3
números puede explicarse así:
Programación Orientada a
Objetos
No es Abstracción: ¿Cómo debe Implementarse?
i. Declarar variables
ii. Mostrar un mensaje en pantalla para pedir cada número
iii. Leer los números
iv. Asignarlos la suma a una variable Total
v. Dividir el total entre 3 y asignarlo a la variable Promedio
vi. Mostrar un mensaje en pantalla indicando que se
presentará el resultado
vii. Mostrar la variable Promedio.
Programación Orientada a
Objetos
Encapsulamiento
• Es una propiedad que ayuda a mantener juntos, en
una única entidad, los atributos o propiedades (datos)
y las funciones (métodos) que definen el
comportamiento del objeto.
Programación Orientada a
Objetos
Herencia
• Es una propiedad que permite que los objetos sean
creados a partir de otros ya existentes, obteniendo
características (métodos y atributos) similares a los ya
existentes.
Jerarquía de clases de transportes
Programación Orientada a
Objetos
Polimorfismo
• Consiste en la posibilidad de definir en una jerarquía de
clases métodos y/o atributos denominados de forma
idéntica, pero que se comportan de manera distinta.
Programación Orientada a
Objetos
¿Qué es un Objeto?
• Todo objeto del mundo real tiene 2 componentes: características
(atributos) y comportamiento (métodos).
Según Booch
• Es algo que tiene estado, un comportamiento y una identidad.
¿Cuáles son sus Atributos?
¿Cuáles son sus Métodos?
Programación Orientada a
Objetos
¿Qué es un Clase?
• Es la descripción de un conjunto de objetos; consta de métodos
y atributos (datos) que resumen características comunes de un
conjunto de objetos.
• Cuando programamos un objeto y definimos sus características
y funcionalidades en realidad lo que estamos haciendo es
programando una clase.
Programación Orientada a
Objetos
Elementos de una Clase
Propiedades o atributos
• Son las características de los objetos. Cuando
definimos una propiedad normalmente especificamos
su nombre y su tipo.
• Las propiedades son algo así como variables donde
almacenamos datos relacionados con los objetos.
Métodos
• Son las funcionalidades asociadas a los objetos, es
decir, describen el comportamiento asociado a un
objeto.
• Las funciones (métodos) residen en el objeto y
determinan como actuará éste cuando reciba un
mensaje.
Programación Orientada a
Objetos
Clases vs Objetos
• Las clases son modelos o plantillas que describen como se
construyen uno o más objetos del mismo tipo.
• Cada vez que se construye un objeto de una clase, se crea una
instancia de esa clase. Una instancia es una variable de tipo objeto.
• Una clase puede tener muchas instancias y cada una es un objeto
diferente.
Consideraciones
• Tanto para atributos como para métodos, en C++ hay tres modos
principales de acceso: public, private, protected (público, privado y
protegido).
Programación Orientada a
Objetos
class NombreClase {
private: //Visibilidad o Acceso
Atributos
public: //Visibilidad o Acceso
Métodos
};
Sintaxis para crear una Clase en C++
NombreClase NombreObjeto;
Sintaxis para crear un Objeto en C++
NombreObjeto.Metodo();
Sintaxis para enviar un mensaje a un objeto en C++
Clases y Objetos: Constructores
Es un método especial que se ejecuta
automáticamente al momento de la creación de un
objeto; su propósito es la inicialización de los
atributos del objeto, bien sea con valores
predefinidos o con valores que se “pasan” al objeto a
través de parámetros.
Consideraciones
• Se denominan exactamente igual que la clase.
• Pueden haber varios constructores en una clase, con la
diferenciación entre ellos de los argumentos que reciben
(sobrecarga de métodos).
• Para efectos de este curso, principalmente se usarán 2
constructores: (valores predeterminados, y otro que
recibe los argumentos de inicialización).
• En caso de que sea un constructor de inicialización
predeterminado, colocarás valores base.
Clases C++: Setters y Getters
La función Set es un método que nos permite modificar el
valor (asignar) de una variable privada (atributo) de una
clase.
La función Get es un método que nos permite visualizar el
valor de una variable privada (atributo) de una clase, en
otras palabras provee el valor del atributo a quien lo
solicite.
Consideraciones
• Por cada atributo debería existir un Set y un Get.
• Los Sets constituyen un método cuya única función será
asignarle un valor a un atributo en particular, el cual viene
por parámetro. Dado que no tiene que retornar valor, los
Sets son procedimientos, o funciones void.
• Los Gets son métodos que se invocarán para que retornen
el valor de una atributo en particular, de manera que el tipo
de retorno de cada Get dependerá del tipo del atributo.
Identificación de Objetos
• Una técnica a seguir para lograr la identificación de los objetos es
subrayar cada sustantivo (nombre) presente en el planteamiento del
problema.
• Ejemplo: Dado la edad y la nacionalidad (si es venezolano o no)
de un Joven. Determinar si el joven es admitido o no. Se sabe que
es admitido siempre y cuando sea venezolano y su edad esté entre
18 y 21 años.
Dado la edad y la nacionalidad (si es venezolano o no) de un Joven.
Determinar si el joven es admitido o no. Se sabe que es admitido
siempre y cuando sea venezolano y su edad esté entre 18 y 21 años.
IDENTIFICACIÓN DE OBJETOS Y SUS COMPONENTES
INFORMACIÓN DE ENTRADA : Edad y
nacionalidad
OBJETOS CANDIDATOS: Joven
REQUERIMIENTOS: determinar si
Es admitido o no el Joven
IMPORTANTE: en ocasiones la
información de entrada está implícita
Programación de Objetos
en C++
Un Programa Orientado a Objetos en C++, está compuesto por:
• Varias librerías de uso genérico, bien sea las incorporadas al lenguaje o
programadas por el usuario.
• Una carpeta en el disco duro (o pendrive) con el nombre del proyecto.
• Clases propias para el programa. Cada clase se almacena en 2 archivos:
uno para la interfaz (extensión .h) y otro para la implementación
(extensión .cpp). Estos archivos van dentro de la carpeta del proyecto
Cada clase que se diseña tendrá 2 partes:
• La interfaz: contiene solamente la declaración de los componentes de la
clase, siguiendo la sintaxis de C++.
• La implementación: contiene la programación de los métodos de la clase
Nuestro ejemplo de Admisión requerirá al menos 3
Archivos: Joven.h, Joven.cpp y Principal.cpp
Programa Orientado a Objetos
C++:#ifndef JOVEN_H
#define JOVEN_H
#include <string>
using namespace std;
class Joven {
private:
int edad;
bool venezolano; //1=si, 0=no
public:
Joven();
Joven (int, bool);
void setEdad(int);
void setVenezolano(bool);
int getEdad();
bool getVenezolano();
bool EsAdmitido ();
string RespAdmitido ();
};
#endif
#include "Joven.h“
Joven :: Joven (){}
Joven :: Joven (int e, bool v){
edad = e;
venezolano = v;
}
void Joven::setEdad(int e){
edad= e;
}
void Joven::setVenezolano(bool v){
venezolano = v;
}
int Joven::getEdad(){
return edad;
}
bool Joven::getVenezolano() {
return venezolano;
}
bool Joven :: EsAdmitido (){
if ((venezolano) && (edad>=18 && edad<=21))
return 1;
else return 0;
}
string Joven :: RespAdmitido (){
if (EsAdmitido ())
return "ADMITIDO";
else return "NO ADMITIDO";
}
Joven.h (Interfaz) Joven.cpp(Implementación)
Programa Orientado a Objetos
C++#include <iostream>
#include <cstdio>
#include <cstdlib>
#include "Joven.h”
using namespace std;
int main(){
int ed;
char resp;
Joven j;
cout << "Edad del joven: " << endl;
cin >> ed;
cout << "Es venezolano (S-N): " << endl;
cin >> resp;
j.setEdad(ed);
j.setVenezolano(resp == 's' or resp == 'S');
cout << "El joven es: " << endl;
cout << j.RespAdmitido () << endl;
system ("PAUSE");
return 0;
}
Principal.cpp
Asignaciones Próxima Clase
Repasar lo visto en Clase.
Leer la Guía Didáctica de
Introducción a la Programación
Orientada a Objetos (POO).
Realizar Ejercicios Propuestos.
Referencias Bibliográficas
• JOYANES, L y ZAHONERO, I. 2010.
Programación en C, C++, JAVA y UML. Mc
Graw Hill, Interamericana Editores, S.A. DE
C.V.
• JOYANES, L. 2006. Programación en C++.
Algoritmos, estructuras de datos y objetos.
2a Edición. Mc Graw Hill, Interamericana de
España, S.A.U.

Mais conteúdo relacionado

Mais procurados

Diagramas De Secuencia
Diagramas De SecuenciaDiagramas De Secuencia
Diagramas De SecuenciaFabian Garcia
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaJulio Pari
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clasesFernando Solis
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLCindy Adriana Bohórquez Santana
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 

Mais procurados (20)

Diagramas De Secuencia
Diagramas De SecuenciaDiagramas De Secuencia
Diagramas De Secuencia
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 

Destaque

POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a ObjetosNestor Traña
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaIngeniería Nica
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosJavier Camacho
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaMichael de la Cruz
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 
Instructoria de Herencia en java
Instructoria de Herencia en javaInstructoria de Herencia en java
Instructoria de Herencia en javaJavier
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetosvilma pilco
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje JavaNetwork Sens
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java ClasspathNetwork Sens
 

Destaque (20)

POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Programación Orientada a Objeto y Java
Programación Orientada a Objeto y JavaProgramación Orientada a Objeto y Java
Programación Orientada a Objeto y Java
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Poo en java herencia
Poo en java   herenciaPoo en java   herencia
Poo en java herencia
 
Instructoria de Herencia en java
Instructoria de Herencia en javaInstructoria de Herencia en java
Instructoria de Herencia en java
 
Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1
 
Cafeteando east
Cafeteando eastCafeteando east
Cafeteando east
 
Entrega final
Entrega finalEntrega final
Entrega final
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java Classpath
 
Tutorial eclipse 1
Tutorial eclipse 1Tutorial eclipse 1
Tutorial eclipse 1
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
13 Networking
13   Networking13   Networking
13 Networking
 
Conceptos de la poo
Conceptos de la pooConceptos de la poo
Conceptos de la poo
 

Semelhante a Clase3 Programación Orientada a Objetos

Ingeniería de requerimientos i
Ingeniería de requerimientos iIngeniería de requerimientos i
Ingeniería de requerimientos iPablo Macon
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)Eric Martinez Aguilar
 
Elemtos de programacion
Elemtos de programacionElemtos de programacion
Elemtos de programacionpepepaso
 
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la pooLenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la pooJacki Wan
 
¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt
¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt
¡PROGRAMACION ORIENDA AL OBJETO! (POO) pptsebastian128874
 
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Programacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonProgramacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonwozgeass
 

Semelhante a Clase3 Programación Orientada a Objetos (20)

3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Ingeniería de requerimientos i
Ingeniería de requerimientos iIngeniería de requerimientos i
Ingeniería de requerimientos i
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Poo
PooPoo
Poo
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Elemtos de programacion
Elemtos de programacionElemtos de programacion
Elemtos de programacion
 
Primeraclaseobjetos clases
Primeraclaseobjetos clasesPrimeraclaseobjetos clases
Primeraclaseobjetos clases
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la pooLenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
Lenguajesdeprogramacion c nivel2-unidad4-01-introduccion a la poo
 
¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt
¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt
¡PROGRAMACION ORIENDA AL OBJETO! (POO) ppt
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clases
 
poo+neohj.pptx
poo+neohj.pptxpoo+neohj.pptx
poo+neohj.pptx
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Principios poo
Principios pooPrincipios poo
Principios poo
 
Programacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonProgramacion Orientada a Objetos en python
Programacion Orientada a Objetos en python
 

Último

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 

Último (20)

dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 

Clase3 Programación Orientada a Objetos

  • 1. Programación Orientada a Objetos Universidad Centroccidental “Lisandro Alvarado” Decanato de Ciencias y Tecnología Análisis de Sistemas Departamento de Sistemas Programación Coordinación del Área de Programación Lapso 2013-1
  • 2. Programación Orientadas a Objetos Agenda Programación de Funciones Programación Orientada a Objetos (POO) Pilares de la Programación Orientada a Objetos Definición de Objeto Definición de Clase Representación de una Clase
  • 3. Programación Orientadas a Objetos UNIDAD II. Primera Parte Objetivo General Aplicar los conceptos básicos de la POO, la técnica de modelado orientado a objetos y la representación de las clases en un lenguaje de programación Objetivos Específicos • Aplicar los conceptos básicos de la Programación Orientada a Objetos (POO). • Identificar los pilares fundamentales de la programación orientada a objetos • Implementar Programación Orientada a Objetos usando la metodología de diseño.
  • 4. Programación de Funciones Función • Contiene una o más sentencias y se crean generalmente para realizar una única tarea. • En la Programación Orientada a Objetos, las funciones se utilizan para definir los métodos de las clases. Implementación de una Función: tipo_de_retorno NombreFuncion (lista parametros){ sentencias return valor; }
  • 5. Programación de Funciones Parámetros por valor • Cuando C++ compila la función y se ejecuta el código que llama a la función, ésta recibe una copia de los valores de los parámetros que se le pasan como argumentos. Parámetros por Referencia (&) • Cuando una función debe modificar el valor del parámetro pasado. En este método el compilador pasa la dirección de memoria del valor del parámetro a la función. Cuando se modifica el valor del parámetro esta queda almacenado en la misma dirección de memoria. Parámetros de una Función • Se conocen como Argumentos. • Una función puede utilizar parámetros por valor, por referencia, o puede no tener parámetros.
  • 6. Programación de Funciones Parámetros de una Función según Ubicación Parámetros Formales • Están en la definición de la función (cabecera). Parámetros Actuales • Están en cada llamada a una función. COMPATIBILIDAD ENTRE PARÁMETROS FORMALESY PARÁMETROS ACTUALES Regla Compatibilidad Debe cumplir con lo siguiente Misma cantidad Para N parámetros formales deben haber N parámetros actuales. Ej: si hay 3 parámetros en los formales, deben haber 3 en los actuales
  • 7. Programación de Funciones Parámetros de una Función según Ubicación COMPATIBILIDAD ENTRE PARÁMETROS FORMALESY PARÁMETROS ACTUALES Regla Compatibilidad Debe cumplir con lo siguiente Mismo tipo Deben ser parámetros del mismo tipo. Ej: Si en los formales hay un char y un int, igualmente deben haber un char y un int en los actuales Mismo orden Deben estar en el mismo orden. Ej: si en los formales hay un char y un int, y en los actuales hay un int y un char, ambos pares de parámetros tienen el mismo tipo pero no están en el mismo orden.
  • 8. Programación de Funciones Ejemplos de Funciones void ImprimirMensaje (string mensaje) { cout << mensaje << endl; } Llamado de la función ImprimirMensaje ImprimirMensaje (“Ingrese los siguientes datos:”); void LimpiarPantalla () { system (“cls”); } Llamado de las funciones anteriores LimpiarPantalla ();
  • 9. Programación de Funciones Ejemplos de Funciones void intercambio(int& m, int& n) { int aux=m; m= n; n= aux; } int i=3, j =50; cout<< “i = “<< i << “y j = “ << j << endl; // Llamado de la función intercambio intercambio (i, j); cout<< “i = “ << i << “y j = “ << j << endl;
  • 10. Programación Orientada a Objetos Es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas de computadora. Es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real. Se basa en la idea natural de la existencia de un mundo lleno de objetos, de modo que la resolución del problema se realiza en términos de objetos.
  • 11. Programación Orientada a Objetos Pilares Fundamentales de la POO
  • 12. Programación Orientada a Objetos Abstracción •Consiste en captar las características esenciales de un objeto, así como su comportamiento, al mismo tiempo que se ignoran los detalles no esenciales. •En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?“. Abstracción: ¿Qué es y que Hace? i. Sumamos los números y dividimos entre 3 Ejemplo: el proceso para calcular el promedio de 3 números puede explicarse así:
  • 13. Programación Orientada a Objetos No es Abstracción: ¿Cómo debe Implementarse? i. Declarar variables ii. Mostrar un mensaje en pantalla para pedir cada número iii. Leer los números iv. Asignarlos la suma a una variable Total v. Dividir el total entre 3 y asignarlo a la variable Promedio vi. Mostrar un mensaje en pantalla indicando que se presentará el resultado vii. Mostrar la variable Promedio.
  • 14. Programación Orientada a Objetos Encapsulamiento • Es una propiedad que ayuda a mantener juntos, en una única entidad, los atributos o propiedades (datos) y las funciones (métodos) que definen el comportamiento del objeto.
  • 15. Programación Orientada a Objetos Herencia • Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes. Jerarquía de clases de transportes
  • 16. Programación Orientada a Objetos Polimorfismo • Consiste en la posibilidad de definir en una jerarquía de clases métodos y/o atributos denominados de forma idéntica, pero que se comportan de manera distinta.
  • 17. Programación Orientada a Objetos ¿Qué es un Objeto? • Todo objeto del mundo real tiene 2 componentes: características (atributos) y comportamiento (métodos). Según Booch • Es algo que tiene estado, un comportamiento y una identidad. ¿Cuáles son sus Atributos? ¿Cuáles son sus Métodos?
  • 18. Programación Orientada a Objetos ¿Qué es un Clase? • Es la descripción de un conjunto de objetos; consta de métodos y atributos (datos) que resumen características comunes de un conjunto de objetos. • Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programando una clase.
  • 19. Programación Orientada a Objetos Elementos de una Clase Propiedades o atributos • Son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. • Las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos. Métodos • Son las funcionalidades asociadas a los objetos, es decir, describen el comportamiento asociado a un objeto. • Las funciones (métodos) residen en el objeto y determinan como actuará éste cuando reciba un mensaje.
  • 20. Programación Orientada a Objetos Clases vs Objetos • Las clases son modelos o plantillas que describen como se construyen uno o más objetos del mismo tipo. • Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase. Una instancia es una variable de tipo objeto. • Una clase puede tener muchas instancias y cada una es un objeto diferente. Consideraciones • Tanto para atributos como para métodos, en C++ hay tres modos principales de acceso: public, private, protected (público, privado y protegido).
  • 21. Programación Orientada a Objetos class NombreClase { private: //Visibilidad o Acceso Atributos public: //Visibilidad o Acceso Métodos }; Sintaxis para crear una Clase en C++ NombreClase NombreObjeto; Sintaxis para crear un Objeto en C++ NombreObjeto.Metodo(); Sintaxis para enviar un mensaje a un objeto en C++
  • 22. Clases y Objetos: Constructores Es un método especial que se ejecuta automáticamente al momento de la creación de un objeto; su propósito es la inicialización de los atributos del objeto, bien sea con valores predefinidos o con valores que se “pasan” al objeto a través de parámetros. Consideraciones • Se denominan exactamente igual que la clase. • Pueden haber varios constructores en una clase, con la diferenciación entre ellos de los argumentos que reciben (sobrecarga de métodos). • Para efectos de este curso, principalmente se usarán 2 constructores: (valores predeterminados, y otro que recibe los argumentos de inicialización). • En caso de que sea un constructor de inicialización predeterminado, colocarás valores base.
  • 23. Clases C++: Setters y Getters La función Set es un método que nos permite modificar el valor (asignar) de una variable privada (atributo) de una clase. La función Get es un método que nos permite visualizar el valor de una variable privada (atributo) de una clase, en otras palabras provee el valor del atributo a quien lo solicite. Consideraciones • Por cada atributo debería existir un Set y un Get. • Los Sets constituyen un método cuya única función será asignarle un valor a un atributo en particular, el cual viene por parámetro. Dado que no tiene que retornar valor, los Sets son procedimientos, o funciones void. • Los Gets son métodos que se invocarán para que retornen el valor de una atributo en particular, de manera que el tipo de retorno de cada Get dependerá del tipo del atributo.
  • 24. Identificación de Objetos • Una técnica a seguir para lograr la identificación de los objetos es subrayar cada sustantivo (nombre) presente en el planteamiento del problema. • Ejemplo: Dado la edad y la nacionalidad (si es venezolano o no) de un Joven. Determinar si el joven es admitido o no. Se sabe que es admitido siempre y cuando sea venezolano y su edad esté entre 18 y 21 años. Dado la edad y la nacionalidad (si es venezolano o no) de un Joven. Determinar si el joven es admitido o no. Se sabe que es admitido siempre y cuando sea venezolano y su edad esté entre 18 y 21 años. IDENTIFICACIÓN DE OBJETOS Y SUS COMPONENTES INFORMACIÓN DE ENTRADA : Edad y nacionalidad OBJETOS CANDIDATOS: Joven REQUERIMIENTOS: determinar si Es admitido o no el Joven IMPORTANTE: en ocasiones la información de entrada está implícita
  • 25. Programación de Objetos en C++ Un Programa Orientado a Objetos en C++, está compuesto por: • Varias librerías de uso genérico, bien sea las incorporadas al lenguaje o programadas por el usuario. • Una carpeta en el disco duro (o pendrive) con el nombre del proyecto. • Clases propias para el programa. Cada clase se almacena en 2 archivos: uno para la interfaz (extensión .h) y otro para la implementación (extensión .cpp). Estos archivos van dentro de la carpeta del proyecto Cada clase que se diseña tendrá 2 partes: • La interfaz: contiene solamente la declaración de los componentes de la clase, siguiendo la sintaxis de C++. • La implementación: contiene la programación de los métodos de la clase Nuestro ejemplo de Admisión requerirá al menos 3 Archivos: Joven.h, Joven.cpp y Principal.cpp
  • 26. Programa Orientado a Objetos C++:#ifndef JOVEN_H #define JOVEN_H #include <string> using namespace std; class Joven { private: int edad; bool venezolano; //1=si, 0=no public: Joven(); Joven (int, bool); void setEdad(int); void setVenezolano(bool); int getEdad(); bool getVenezolano(); bool EsAdmitido (); string RespAdmitido (); }; #endif #include "Joven.h“ Joven :: Joven (){} Joven :: Joven (int e, bool v){ edad = e; venezolano = v; } void Joven::setEdad(int e){ edad= e; } void Joven::setVenezolano(bool v){ venezolano = v; } int Joven::getEdad(){ return edad; } bool Joven::getVenezolano() { return venezolano; } bool Joven :: EsAdmitido (){ if ((venezolano) && (edad>=18 && edad<=21)) return 1; else return 0; } string Joven :: RespAdmitido (){ if (EsAdmitido ()) return "ADMITIDO"; else return "NO ADMITIDO"; } Joven.h (Interfaz) Joven.cpp(Implementación)
  • 27. Programa Orientado a Objetos C++#include <iostream> #include <cstdio> #include <cstdlib> #include "Joven.h” using namespace std; int main(){ int ed; char resp; Joven j; cout << "Edad del joven: " << endl; cin >> ed; cout << "Es venezolano (S-N): " << endl; cin >> resp; j.setEdad(ed); j.setVenezolano(resp == 's' or resp == 'S'); cout << "El joven es: " << endl; cout << j.RespAdmitido () << endl; system ("PAUSE"); return 0; } Principal.cpp
  • 28. Asignaciones Próxima Clase Repasar lo visto en Clase. Leer la Guía Didáctica de Introducción a la Programación Orientada a Objetos (POO). Realizar Ejercicios Propuestos.
  • 29. Referencias Bibliográficas • JOYANES, L y ZAHONERO, I. 2010. Programación en C, C++, JAVA y UML. Mc Graw Hill, Interamericana Editores, S.A. DE C.V. • JOYANES, L. 2006. Programación en C++. Algoritmos, estructuras de datos y objetos. 2a Edición. Mc Graw Hill, Interamericana de España, S.A.U.