SlideShare una empresa de Scribd logo
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.

Más contenido relacionado

La actualidad más candente

Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
Universidad Técnica del Norte
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
Angel Vázquez Patiño
 
P.O.O.
P.O.O.P.O.O.
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
ALGLYS RAMIREZ
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
Luis Eduardo Aponte
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
Actimel
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
José Antonio Sandoval Acosta
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
José Antonio Sandoval Acosta
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractas
codigosyalgomas
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
Daniel Gomez Jaramillo
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Cuestionario
CuestionarioCuestionario
Cuestionario
Jose Nava
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
josecuartas
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
jmachado614
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
Cristian Salazar C.
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
da4
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
Clara Patricia Avella Ibañez
 

La actualidad más candente (20)

Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
Resumen polimorfismo
Resumen polimorfismoResumen polimorfismo
Resumen polimorfismo
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractas
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 

Destacado

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 original
Jose Angel Rodriguez
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
Javier 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
 
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
Kudos S.A.S
 
Poo en java herencia
Poo en java   herenciaPoo en java   herencia
Poo en java herencia
Jair Humberto Calimeno Riascos
 
Instructoria de Herencia en java
Instructoria de Herencia en javaInstructoria de Herencia en java
Instructoria de Herencia en java
Javier
 
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
Gustavo Alejandro Galindo Rosales
 
Cafeteando east
Cafeteando eastCafeteando east
Cafeteando east
Universidad Fermín Toro
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
vilma pilco
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
Network Sens
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java Classpath
Network Sens
 
Tutorial eclipse 1
Tutorial eclipse 1Tutorial eclipse 1
Tutorial eclipse 1
danielmarin71782595
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
Ing. Giovanny Moncayo
 
13 Networking
13   Networking13   Networking
13 Networking
Network Sens
 
Conceptos de la poo
Conceptos de la pooConceptos de la poo
Conceptos de la poo
Giancarlo Gamarra
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Vanessa Vaca
 
2011 2012-practica poo.v.1.2
2011 2012-practica poo.v.1.22011 2012-practica poo.v.1.2
2011 2012-practica poo.v.1.2MarcosFerVega
 

Destacado (20)

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
 
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
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
2011 2012-practica poo.v.1.2
2011 2012-practica poo.v.1.22011 2012-practica poo.v.1.2
2011 2012-practica poo.v.1.2
 

Similar 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 i
Pablo Macon
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Zamantha Gonzalez Universidad Nacional Abierta
 
programacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptxprogramacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptx
Davilito Oso
 
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
 
Cuaderno
CuadernoCuaderno
Cuaderno
juanlunatics
 
Cuaderno
CuadernoCuaderno
Cuaderno
juanlunatics
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
Maria Garcia
 
Elemtos de programacion
Elemtos de programacionElemtos de programacion
Elemtos de programacion
pepepaso
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
MaryRomero77
 
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) ppt
sebastian128874
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Consultor Independiente
 
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
karlalopezbello
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
Primeraclaseobjetos Clases
Primeraclaseobjetos ClasesPrimeraclaseobjetos Clases
Primeraclaseobjetos Clasesmtemarialuisa
 
poo+neohj.pptx
poo+neohj.pptxpoo+neohj.pptx
poo+neohj.pptx
ssuser3dea271
 

Similar 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
 
programacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptxprogramacion orientada a objetos poo.pptx
programacion orientada a objetos poo.pptx
 
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
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
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
 
Principios poo
Principios pooPrincipios poo
Principios poo
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 

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.