SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software 1
República Bolivariana de Venezuela
Ministerio de Educación Superior
Fundación Misión Sucre
Aldea Fray Pedro de Agreda
Desarrollo de Software
Fundamentos Programación Orientada a
Objetos ( POO ) - Parte I
Desarrollo de Software
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
• ¿Qué es un Paradigma de Programación?
• Paradigma Orientado a Objetos.
• Objeto o instancia.
• Clase.
• Atributos.
• Métodos.
• Implementación en C++.
ContenidoContenido
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conjunto de herramientas y técnicas que conforman el soporte de
una tecnología; en este caso para desarrollo de programas. IBM
2005
Resultado de la evolución natural de la programación, se transformo
en una metodología de programación de propósito general que
simula la forma en que el hombre trabaja y cuya idea básica es que
percibimos al mundo que nos rodea como una variedad de objetos.
¿Qué es un paradigma de programación?¿Qué es un paradigma de programación?
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Origen Paradigma Orientado a ObjetosOrigen Paradigma Orientado a Objetos
Origen
• Crisis del software
– Cada vez mas costoso.
– Difícil mantenimiento.
– Vida útil cada vez mas corta.
– Necesidad de rápida adaptación a cambios.
– Soluciones informáticas con poca visión holística.
• Soluciones
– Parametrización.
– Modulorarización.
– Bibliotecas.
– Soluciones integrales más orientadas al negocio.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentalesConceptos fundamentales
Un Objeto es una entidad con una estructura de datos interna bien
definida, junto a un conjunto de acciones que describen su
comportamiento. Es la unidad básica de la Programación Orientada
a Objetos ( POO ). Un objeto o instancia es una variable concreta
de una clase con su propia copia de variables miembros.
• Un objeto tiene estado, comportamiento e identidad.
• Tiene datos internos que le dan el estado.
• Tiene métodos para producir comportamiento.
• Cada objeto tiene una dirección única en memoria lo que le da
identidad.
Ejemplos: Juan El Estudiante, Nora La Estudiante, Pedro Florista,
María Florista.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentalesConceptos fundamentales
Una clase es:
• Una categoría de objetos con características comunes.
• Una plantilla que se usa para crear múltiples objetos con características
similares.
Las clases engloban las características de un conjunto particular de
objetos. Cuando se escribe un programa en un lenguaje orientado a
objetos no se definen objetos individuales sino clases de objetos.
Las clases son tipos de variables o tipos de datos creados por el usuario.
Se puede extender un lenguaje de programación adicionando nuevos
tipos de datos específicos acorde a las necesidades del problema a
resolver. Las clases pueden estar formadas por variables miembros y
funciones miembros.
Ejemplos: Florista, Estudiante.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Implementación de un clase en C++Implementación de un clase en C++
// Sintaxis en C++
class <nombre de la clase>
{
private: [lista de miembros]
protected: [lista de miembros]
public: [lista de miembros]
};
Buenas Prácticas:
• Nombrar las clases, atributos y metodos utilizando la notación Camell;
UpperCamelCase(NombreApellido) o lowerCamelCase(nombreApellido).
• Colocar la apertura de ambiente en la misma línea o en una línea aparte.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentalesConceptos fundamentales
Cada clase puede estar compuesta por:
Atributos: definen el estado de la clase.
• Atributos pasivos.
• Variables miembros
• Campos.
Métodos: definen el comportamiento de la clase.
• Funciones miembros.
• Atributos activos.
• Operaciones.
• Comportamiento y responsabilidades.
Estudiemos la
Clase Televisor
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentales - AtributosConceptos fundamentales - Atributos
Los atributos son características, propiedades que hacen que un objeto
se diferencie del otro. Pueden determinar apariencia, cualidades, estado,
etc. Los atributos se definen por variables. Para cada variable se define su
tipo. Ejemplo:
// en C++
<Tipo de dato> nombreAtributo;
// en C++
class Televisor {
int canalTv;
int modelo;
char estadoTv;
};
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentales - MétodosConceptos fundamentales - Métodos
El comportamiento de una clase se implementa a través de sus métodos
o funciones miembros. Una clase o un objeto puede llamar métodos de
otras clases para:
- Indicar a otro objeto que cambie.
- Pedir a otro objeto que haga algo.
La definición básica de un método en C++ cuenta de:
- Tipo de retorno (tipo de objeto o tipo primitivo).
- Nombre del método.
- Lista de parámetros.
- Cuerpo del método.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentales - MétodosConceptos fundamentales - Métodos
//En C++
<visibilidad/opcional><tipo-retorno/void> nombreMetodo ([parámetros]) {
//cuerpo del método
}
Las tres primeras partes se conocen como interfaz o firma del método.
Visibilidad
Public, private, protected
Tipo-retorno
Es el tipo primitivo o la clase del valor devuelto. void indica que no hay
valor de retorno.
NombreMetodo
Debe expresar claramente lo que se hace en el cuerpo del método.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentales - MétodosConceptos fundamentales - Métodos
Lista de parámetros
Conjunto de declaraciones de variables (tipo-variables) separadas por
coma que reciben valor al invocar al método.Los parámetros se convierten
en variables locales en el cuerpo del método. Puede que un método no
tenga parámetros. Los parámetros se inicializan en cada llamada al
método al cual pertenecen con los valores especificados al llamarlos. En
C++ se permite que los parámetros tengan valores por defecto.
Cuerpo del Metodo
En el cuerpo del método se pueden definir:
- Expresiones
- Condicionales
- Ciclos
- Llamadas a métodos de otras clases, etc.
A menos que aparezca como tipo de retorno void en el cuerpo del método
hay que devolver la variable del tipo indicado a través de la clásula return.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Conceptos fundamentales - MétodosConceptos fundamentales - Métodos
Ejemplo:
class Televisor {
int canalTv;
int modelo;
char estadoTv;
Public:
void verificarEstadoTv(char estadoTv);
int iniciar();
};
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Ejemplo OOEjemplo OO
Clase Televisor
Ejemplo:
Un televisor tendrá botones y un control remoto por medio del cual accedemos
a sus funciones (encender, apagar, cambiar de canal, etc.). Por otro lado,
podríamos pensar que el objeto tiene un estado, es decir, el televisor se
encuentra prendido o apagado, y posee ciertas propiedades (como la norma en
la que trabaja, la propiedades y cantidad de canales que maneja el
sintonizador, el tamaño de la pantalla, el canal actualmente sintonizado, etc.).
En definitiva, visto de manera general, el televisor es un objeto con ciertas
funcionalidades y ciertas propiedades. Podríamos establecer, entonces, de
manera no rigurosa, que un objeto es un conjunto de propiedades y métodos:
Objeto = Propiedad + Metodos
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Fundamentos Programación OrientadoFundamentos Programación Orientado
a Objetosa Objetos
Fundamentos Programación orientada a objetos (Alan Kay)
• Técnica de programación basada en el dicho “divide y vencerás”.
• Todo es un Objeto.
• Un programa es un conjunto de objetos enviándose mensajes
entre sí.
• Cada Objeto tiene su memoria, conformada por otros objetos.
• Todo objeto tiene su propio tipo (pertenece a una clase).
• Todo objeto de un mismo tipo puede recibir los mismos mensajes.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Algunos entornos de desarrollo en C++Algunos entornos de desarrollo en C++
GNU / Linux
• Geany (http://www.geany.org/)
• Code::Blocks (http://www.codeblocks.org/)
Windows
• Dev-C++ (http://www.bloodshed.net/devcpp.html)
• Code::Blocks (http://www.codeblocks.org/)
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Mi primer programa C++ “Hello World”Mi primer programa C++ “Hello World”
holaMisionSucre.cpp
#include <iostream> //Incluir la libreria para entrada y salida de datos
using namespace std; //Al incluir el namespace eliminamos la necesidad de escribir std:cout
int main()
{
cout << "Hello World!" << endl;
cout << "Bienvenido a la Misión Sucre" << endl;
}
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Mi Primer Programa OOMi Primer Programa OO
persona.cpp
#include <iostream> //Incluir la libreria para entrada y salida de datos
using namespace std; //Al incluir el namespace eliminamos la necesidad de escribir std:cout
class Persona{ // Declaracion de la clase
int edad, cedula; // atributos
char nombreApellido[50];
public:
void obtenerDatosPersona(){ // metodo
cout<<"Nombre y Apellido:"<< " Juan Cisneros" <<endl;
cout<<"Cedula de Identidad:"<< " 16204913" <<endl;
cout<<"Edad:"<< " 25" <<endl;
}
};
//Programa Principal (main)
int main(){
Persona juan; // Instaciamos el objeto
juan.obtenerDatosPersona(); // Accedemos al metodo obtenerDatosPersona() de la clase
}
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software
Auto estudioAuto estudio
• ¿Qué es un algoritmo ?
• Investigue las características del lenguaje de programación C++.
• Instalar algunos de los editores recomendados en clase y ejecutar los 2
ejercicios .cpp vistos, sera tema de estudio para la clase siguiente.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software 21
BibliografíaBibliografía
• An introduction to Object-Oriented Programming. Timothy
Budd. Addison Wesley, 1991.
• The C++ Programming Language. Third Edition. Bjarne
Stroustrup. Addison Wesley, 1997.
• Thinking in Java. Third Edition. Bruce Eckel, 2002.

Más contenido relacionado

La actualidad más candente

Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetosdesimartinez
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.Vicente Alberca
 
Orientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesOrientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesSorey García
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos JavaC_QUENGUAN
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosmichaelalta
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netpp mm
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POOLibertad25
 
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 objetosALGLYS RAMIREZ
 
cuestionario de Programación
cuestionario de Programación cuestionario de Programación
cuestionario de Programación dulcevelazquez109
 

La actualidad más candente (20)

Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
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
 
Unidad i parte i
Unidad i parte iUnidad i parte i
Unidad i parte i
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.
 
Orientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesOrientacion A Objetos Para Dummies
Orientacion A Objetos Para Dummies
 
Poo
PooPoo
Poo
 
POO
POOPOO
POO
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic net
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
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
 
cuestionario de Programación
cuestionario de Programación cuestionario de Programación
cuestionario de Programación
 

Destacado

Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos Marco Moran
 
Tema1
Tema1Tema1
Tema1UH
 
El chocolate, integrantes campos, echeverria, seitz, tenorio (1)
El chocolate, integrantes campos, echeverria, seitz, tenorio (1)El chocolate, integrantes campos, echeverria, seitz, tenorio (1)
El chocolate, integrantes campos, echeverria, seitz, tenorio (1)dayhitenorio
 
Tassazione Network Marketing e Breve spiegazione
Tassazione Network Marketing e Breve spiegazioneTassazione Network Marketing e Breve spiegazione
Tassazione Network Marketing e Breve spiegazioneSergio Pische
 
FR - Visual Planning Présentation en francais
FR - Visual Planning Présentation en francaisFR - Visual Planning Présentation en francais
FR - Visual Planning Présentation en francaisVisual Planning
 
Progettare spazi e costruire community. Il codesign migliora gli esseri umani.
Progettare spazi e costruire community. Il codesign migliora gli esseri umani.Progettare spazi e costruire community. Il codesign migliora gli esseri umani.
Progettare spazi e costruire community. Il codesign migliora gli esseri umani.Andrea Paoletti
 
La convergencia aún no ha llegado
La convergencia aún no ha llegadoLa convergencia aún no ha llegado
La convergencia aún no ha llegadoMundo Contact
 
Supramodernismo europeo 2 parte
Supramodernismo europeo   2 parteSupramodernismo europeo   2 parte
Supramodernismo europeo 2 parteNayeli Padilla
 
Tours Cercano y Lejano Oriente 2013 y 2014. Mapaplus
Tours Cercano y Lejano Oriente 2013 y 2014. MapaplusTours Cercano y Lejano Oriente 2013 y 2014. Mapaplus
Tours Cercano y Lejano Oriente 2013 y 2014. MapaplusMapaplus
 
Datos Voluntarios Palestina
Datos Voluntarios PalestinaDatos Voluntarios Palestina
Datos Voluntarios PalestinaJose Nuñez
 
Material Complementario para Apoyo a la Psicoeducacion
Material Complementario para Apoyo a la PsicoeducacionMaterial Complementario para Apoyo a la Psicoeducacion
Material Complementario para Apoyo a la PsicoeducacionPs.Veronica Garay
 
Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...
Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...
Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...Werner Keil
 
Produced foam test kit manual methology statement
Produced foam test kit manual methology statementProduced foam test kit manual methology statement
Produced foam test kit manual methology statementDavid Holmes
 
Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...
Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...
Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...Peter Reed
 
Calidad y Acreditación
Calidad y AcreditaciónCalidad y Acreditación
Calidad y Acreditacióndokeosla
 

Destacado (20)

Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tema1
Tema1Tema1
Tema1
 
El chocolate, integrantes campos, echeverria, seitz, tenorio (1)
El chocolate, integrantes campos, echeverria, seitz, tenorio (1)El chocolate, integrantes campos, echeverria, seitz, tenorio (1)
El chocolate, integrantes campos, echeverria, seitz, tenorio (1)
 
Tassazione Network Marketing e Breve spiegazione
Tassazione Network Marketing e Breve spiegazioneTassazione Network Marketing e Breve spiegazione
Tassazione Network Marketing e Breve spiegazione
 
FR - Visual Planning Présentation en francais
FR - Visual Planning Présentation en francaisFR - Visual Planning Présentation en francais
FR - Visual Planning Présentation en francais
 
Progettare spazi e costruire community. Il codesign migliora gli esseri umani.
Progettare spazi e costruire community. Il codesign migliora gli esseri umani.Progettare spazi e costruire community. Il codesign migliora gli esseri umani.
Progettare spazi e costruire community. Il codesign migliora gli esseri umani.
 
La convergencia aún no ha llegado
La convergencia aún no ha llegadoLa convergencia aún no ha llegado
La convergencia aún no ha llegado
 
Supramodernismo europeo 2 parte
Supramodernismo europeo   2 parteSupramodernismo europeo   2 parte
Supramodernismo europeo 2 parte
 
PTEN_Nogo-2
PTEN_Nogo-2PTEN_Nogo-2
PTEN_Nogo-2
 
Olimpiadas LONDRES 2012
Olimpiadas LONDRES 2012Olimpiadas LONDRES 2012
Olimpiadas LONDRES 2012
 
Tours Cercano y Lejano Oriente 2013 y 2014. Mapaplus
Tours Cercano y Lejano Oriente 2013 y 2014. MapaplusTours Cercano y Lejano Oriente 2013 y 2014. Mapaplus
Tours Cercano y Lejano Oriente 2013 y 2014. Mapaplus
 
Datos Voluntarios Palestina
Datos Voluntarios PalestinaDatos Voluntarios Palestina
Datos Voluntarios Palestina
 
Material Complementario para Apoyo a la Psicoeducacion
Material Complementario para Apoyo a la PsicoeducacionMaterial Complementario para Apoyo a la Psicoeducacion
Material Complementario para Apoyo a la Psicoeducacion
 
Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...
Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...
Quantified Self, Smart Grid und Smart Home mit UOMo & JSR 363 | Eclipse Dem...
 
Presentación formación y coaching
Presentación formación y  coachingPresentación formación y  coaching
Presentación formación y coaching
 
Produced foam test kit manual methology statement
Produced foam test kit manual methology statementProduced foam test kit manual methology statement
Produced foam test kit manual methology statement
 
Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...
Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...
Keynote presentation pt.1 at eAssessment Scotland 14: Viewing Summative Asses...
 
Calidad y Acreditación
Calidad y AcreditaciónCalidad y Acreditación
Calidad y Acreditación
 

Similar a Desarrollo de Software fundamentos POO 1era Parte subido JHS

Similar a Desarrollo de Software fundamentos POO 1era Parte subido JHS (20)

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)
 
Ingeniería de requerimientos i
Ingeniería de requerimientos iIngeniería de requerimientos i
Ingeniería de requerimientos i
 
Proyecto para programacion y estructura
Proyecto para programacion y estructuraProyecto para programacion y estructura
Proyecto para programacion y estructura
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parte
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Programación del curso inf212 - POO
Programación del curso inf212 - POOProgramación del curso inf212 - POO
Programación del curso inf212 - POO
 
Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0
 
Semana2 clases
Semana2 clasesSemana2 clases
Semana2 clases
 
Guía1
Guía1Guía1
Guía1
 
informatica
informaticainformatica
informatica
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
 
Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Java Basico
Java BasicoJava Basico
Java Basico
 
Clase virtual 1_-_5_ano_c
Clase virtual 1_-_5_ano_cClase virtual 1_-_5_ano_c
Clase virtual 1_-_5_ano_c
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 

Más de johnny herrera

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrerajohnny herrera
 
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900johnny herrera
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1johnny herrera
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0johnny herrera
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetosjohnny herrera
 
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes AguilarProgramacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilarjohnny herrera
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 johnny herrera
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60johnny herrera
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitariajohnny herrera
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 

Más de johnny herrera (20)

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrera
 
Tiristores
TiristoresTiristores
Tiristores
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes AguilarProgramacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Tutorial de Visual
Tutorial de  VisualTutorial de  Visual
Tutorial de Visual
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60
 
Modulo Derivadas
Modulo DerivadasModulo Derivadas
Modulo Derivadas
 
Matematica 1 usb
Matematica 1 usbMatematica 1 usb
Matematica 1 usb
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitaria
 
Matematica1 usb
Matematica1 usbMatematica1 usb
Matematica1 usb
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Manual cpp
Manual cppManual cpp
Manual cpp
 

Último

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Último (20)

Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 

Desarrollo de Software fundamentos POO 1era Parte subido JHS

  • 1. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software 1 República Bolivariana de Venezuela Ministerio de Educación Superior Fundación Misión Sucre Aldea Fray Pedro de Agreda Desarrollo de Software Fundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software
  • 3. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software • ¿Qué es un Paradigma de Programación? • Paradigma Orientado a Objetos. • Objeto o instancia. • Clase. • Atributos. • Métodos. • Implementación en C++. ContenidoContenido
  • 4. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conjunto de herramientas y técnicas que conforman el soporte de una tecnología; en este caso para desarrollo de programas. IBM 2005 Resultado de la evolución natural de la programación, se transformo en una metodología de programación de propósito general que simula la forma en que el hombre trabaja y cuya idea básica es que percibimos al mundo que nos rodea como una variedad de objetos. ¿Qué es un paradigma de programación?¿Qué es un paradigma de programación? Paradigma Orientado a ObjetosParadigma Orientado a Objetos
  • 5. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Origen Paradigma Orientado a ObjetosOrigen Paradigma Orientado a Objetos Origen • Crisis del software – Cada vez mas costoso. – Difícil mantenimiento. – Vida útil cada vez mas corta. – Necesidad de rápida adaptación a cambios. – Soluciones informáticas con poca visión holística. • Soluciones – Parametrización. – Modulorarización. – Bibliotecas. – Soluciones integrales más orientadas al negocio.
  • 6. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentalesConceptos fundamentales Un Objeto es una entidad con una estructura de datos interna bien definida, junto a un conjunto de acciones que describen su comportamiento. Es la unidad básica de la Programación Orientada a Objetos ( POO ). Un objeto o instancia es una variable concreta de una clase con su propia copia de variables miembros. • Un objeto tiene estado, comportamiento e identidad. • Tiene datos internos que le dan el estado. • Tiene métodos para producir comportamiento. • Cada objeto tiene una dirección única en memoria lo que le da identidad. Ejemplos: Juan El Estudiante, Nora La Estudiante, Pedro Florista, María Florista.
  • 7. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentalesConceptos fundamentales Una clase es: • Una categoría de objetos con características comunes. • Una plantilla que se usa para crear múltiples objetos con características similares. Las clases engloban las características de un conjunto particular de objetos. Cuando se escribe un programa en un lenguaje orientado a objetos no se definen objetos individuales sino clases de objetos. Las clases son tipos de variables o tipos de datos creados por el usuario. Se puede extender un lenguaje de programación adicionando nuevos tipos de datos específicos acorde a las necesidades del problema a resolver. Las clases pueden estar formadas por variables miembros y funciones miembros. Ejemplos: Florista, Estudiante.
  • 8. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Implementación de un clase en C++Implementación de un clase en C++ // Sintaxis en C++ class <nombre de la clase> { private: [lista de miembros] protected: [lista de miembros] public: [lista de miembros] }; Buenas Prácticas: • Nombrar las clases, atributos y metodos utilizando la notación Camell; UpperCamelCase(NombreApellido) o lowerCamelCase(nombreApellido). • Colocar la apertura de ambiente en la misma línea o en una línea aparte.
  • 9. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentalesConceptos fundamentales Cada clase puede estar compuesta por: Atributos: definen el estado de la clase. • Atributos pasivos. • Variables miembros • Campos. Métodos: definen el comportamiento de la clase. • Funciones miembros. • Atributos activos. • Operaciones. • Comportamiento y responsabilidades. Estudiemos la Clase Televisor
  • 10. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentales - AtributosConceptos fundamentales - Atributos Los atributos son características, propiedades que hacen que un objeto se diferencie del otro. Pueden determinar apariencia, cualidades, estado, etc. Los atributos se definen por variables. Para cada variable se define su tipo. Ejemplo: // en C++ <Tipo de dato> nombreAtributo; // en C++ class Televisor { int canalTv; int modelo; char estadoTv; };
  • 11. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentales - MétodosConceptos fundamentales - Métodos El comportamiento de una clase se implementa a través de sus métodos o funciones miembros. Una clase o un objeto puede llamar métodos de otras clases para: - Indicar a otro objeto que cambie. - Pedir a otro objeto que haga algo. La definición básica de un método en C++ cuenta de: - Tipo de retorno (tipo de objeto o tipo primitivo). - Nombre del método. - Lista de parámetros. - Cuerpo del método.
  • 12. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentales - MétodosConceptos fundamentales - Métodos //En C++ <visibilidad/opcional><tipo-retorno/void> nombreMetodo ([parámetros]) { //cuerpo del método } Las tres primeras partes se conocen como interfaz o firma del método. Visibilidad Public, private, protected Tipo-retorno Es el tipo primitivo o la clase del valor devuelto. void indica que no hay valor de retorno. NombreMetodo Debe expresar claramente lo que se hace en el cuerpo del método.
  • 13. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentales - MétodosConceptos fundamentales - Métodos Lista de parámetros Conjunto de declaraciones de variables (tipo-variables) separadas por coma que reciben valor al invocar al método.Los parámetros se convierten en variables locales en el cuerpo del método. Puede que un método no tenga parámetros. Los parámetros se inicializan en cada llamada al método al cual pertenecen con los valores especificados al llamarlos. En C++ se permite que los parámetros tengan valores por defecto. Cuerpo del Metodo En el cuerpo del método se pueden definir: - Expresiones - Condicionales - Ciclos - Llamadas a métodos de otras clases, etc. A menos que aparezca como tipo de retorno void en el cuerpo del método hay que devolver la variable del tipo indicado a través de la clásula return.
  • 14. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Conceptos fundamentales - MétodosConceptos fundamentales - Métodos Ejemplo: class Televisor { int canalTv; int modelo; char estadoTv; Public: void verificarEstadoTv(char estadoTv); int iniciar(); };
  • 15. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Ejemplo OOEjemplo OO Clase Televisor Ejemplo: Un televisor tendrá botones y un control remoto por medio del cual accedemos a sus funciones (encender, apagar, cambiar de canal, etc.). Por otro lado, podríamos pensar que el objeto tiene un estado, es decir, el televisor se encuentra prendido o apagado, y posee ciertas propiedades (como la norma en la que trabaja, la propiedades y cantidad de canales que maneja el sintonizador, el tamaño de la pantalla, el canal actualmente sintonizado, etc.). En definitiva, visto de manera general, el televisor es un objeto con ciertas funcionalidades y ciertas propiedades. Podríamos establecer, entonces, de manera no rigurosa, que un objeto es un conjunto de propiedades y métodos: Objeto = Propiedad + Metodos
  • 16. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Fundamentos Programación OrientadoFundamentos Programación Orientado a Objetosa Objetos Fundamentos Programación orientada a objetos (Alan Kay) • Técnica de programación basada en el dicho “divide y vencerás”. • Todo es un Objeto. • Un programa es un conjunto de objetos enviándose mensajes entre sí. • Cada Objeto tiene su memoria, conformada por otros objetos. • Todo objeto tiene su propio tipo (pertenece a una clase). • Todo objeto de un mismo tipo puede recibir los mismos mensajes.
  • 17. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Algunos entornos de desarrollo en C++Algunos entornos de desarrollo en C++ GNU / Linux • Geany (http://www.geany.org/) • Code::Blocks (http://www.codeblocks.org/) Windows • Dev-C++ (http://www.bloodshed.net/devcpp.html) • Code::Blocks (http://www.codeblocks.org/)
  • 18. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Mi primer programa C++ “Hello World”Mi primer programa C++ “Hello World” holaMisionSucre.cpp #include <iostream> //Incluir la libreria para entrada y salida de datos using namespace std; //Al incluir el namespace eliminamos la necesidad de escribir std:cout int main() { cout << "Hello World!" << endl; cout << "Bienvenido a la Misión Sucre" << endl; }
  • 19. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Mi Primer Programa OOMi Primer Programa OO persona.cpp #include <iostream> //Incluir la libreria para entrada y salida de datos using namespace std; //Al incluir el namespace eliminamos la necesidad de escribir std:cout class Persona{ // Declaracion de la clase int edad, cedula; // atributos char nombreApellido[50]; public: void obtenerDatosPersona(){ // metodo cout<<"Nombre y Apellido:"<< " Juan Cisneros" <<endl; cout<<"Cedula de Identidad:"<< " 16204913" <<endl; cout<<"Edad:"<< " 25" <<endl; } }; //Programa Principal (main) int main(){ Persona juan; // Instaciamos el objeto juan.obtenerDatosPersona(); // Accedemos al metodo obtenerDatosPersona() de la clase }
  • 20. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software Auto estudioAuto estudio • ¿Qué es un algoritmo ? • Investigue las características del lenguaje de programación C++. • Instalar algunos de los editores recomendados en clase y ejecutar los 2 ejercicios .cpp vistos, sera tema de estudio para la clase siguiente.
  • 21. Ing. Juan Cisneros juanv.cisneros@gmail.com Desarrollo de Software 21 BibliografíaBibliografía • An introduction to Object-Oriented Programming. Timothy Budd. Addison Wesley, 1991. • The C++ Programming Language. Third Edition. Bjarne Stroustrup. Addison Wesley, 1997. • Thinking in Java. Third Edition. Bruce Eckel, 2002.