SlideShare una empresa de Scribd logo
POO
Programación Orientada a Objetos
Introducción
Gloria Isabel Bautista Lasprilla
bautistalasprilla.gloriaisabel@gmail.com
gloria@utbvirtual.edu.co
gbautista@unitecnologica.edu.co
• El	
  lenguaje	
  C	
  nació	
  en	
  los	
  laboratorios	
  Bell	
  de	
  AT&T	
  y	
  ha	
  sido	
  
estrechamente	
  asociado	
  con	
  el	
  sistema	
  operativo	
  UNIX,	
  ya	
  que	
  su	
  
desarrollo	
  se	
  realizó	
  en	
  este	
  sistema	
  y	
  debido	
  a	
  que	
  tanto	
  UNIX	
  como	
  el	
  
propio	
  compilador	
  C	
  y	
  casi	
  la	
  totalidad	
  de	
  los	
  programas	
  y	
  herramientas	
  de	
  
UNIX,	
  fueron	
  escritos	
  en	
  C.	
  Su	
  eficiencia	
  y	
  claridad	
  han	
  hecho	
  que	
  el	
  
lenguaje	
  ensamblador	
  apenas	
  haya	
  sido	
  utilizado	
  en	
  UNIX.
• Este	
  lenguaje	
  está	
  inspirado	
  en	
  el	
  lenguaje	
  B	
  escrito	
  por	
  Ken	
  Thompson	
  en	
  
1970	
  con	
  intención	
  de	
  re-­‐codificar	
  el	
  UNIX,	
  que	
  en	
  la	
  fase	
  de	
  arranque	
  
estaba	
  escrito	
  en	
  ensamblador,	
  en	
  vistas	
  a	
  su	
  transportabilidad a	
  otras	
  
máquinas.	
  B	
  era	
  un	
  lenguaje	
  evolucionado	
  e	
  independiente	
  de	
  la	
  máquina,	
  
inspirado	
  en	
  el	
  lenguaje	
  BCPL	
  concebido	
  por	
  Martín	
  Richard	
  en	
  1967.
HISTORIA	
  DEL	
  LENGUAJE	
  C++	
  
• En 1972, Dennis Ritchie, toma el relevo y modifica el lenguaje B, creando el
lenguaje C y reescribiendo el UNIX en dicho lenguaje. La novedad que
proporcionó el lenguaje C sobre el B fue el diseño de tipos y estructuras de
datos. Una de las peculiaridades de C es su riqueza de operadores. Puede
decirse que prácticamente dispone de un operador para cada una de las
posibles operaciones en código máquina.
• Este lenguaje ha evolucionado paralelamente a UNIX. Así, en 1980 se
añaden al lenguaje C, características como las clases (Tomado de
Simula67), chequeo y conversión de los tipos de argumentos de función,
etc.; el resultado fue el lenguaje denominado "C con clases".
HISTORIA	
  DEL	
  LENGUAJE	
  C++	
  
• En	
  1983/84,	
  C	
  con	
  clases	
  fue	
  rediseñado,	
  extendido	
  y	
  nuevamente	
  implementado.	
  El	
  
resultado	
  se	
  denomino:	
  Lenguaje	
  C++.	
  Después	
  de	
  algún	
  otro	
  refinamiento	
  más,	
  C++	
  
queda	
  disponible	
  en	
  1985.	
  Este	
  lenguaje	
  fue	
  inventado	
  por	
  Bjarne Stroustrup (AT&T	
  
Bell	
  Laboratories)	
  y	
  documentado	
  por	
  varios	
  libros	
  suyos.	
  El	
  nombre	
  C++	
  se	
  debe	
  a	
  
Rick	
  Mascitti,	
  significando	
  el	
  carácter	
  evolutivo	
  de	
  las	
  transformaciones	
  de	
  C	
  ('++'	
  es	
  
el	
  operador	
  de	
  incremento	
  de	
  C).	
  
• Son	
  varios	
  los	
  lenguajes	
  que	
  han	
  contribuido	
  a	
  la	
  evolución	
  de	
  los	
  lenguajes	
  
orientados	
  a	
  objetos	
  de	
  hoy:	
  LISP	
  en	
  la	
  década	
  de	
  los	
  50,	
  Simula	
  en	
  los	
  60	
  y	
  mas	
  
tarde	
  Pascal,	
  C,	
  Modula	
  y	
  Ada.	
  
• Si	
  bien,	
  estos	
  lenguajes	
  no	
  incluyen	
  mecanismos	
  para	
  la	
  programación	
  orientada	
  a	
  
objetos,	
  sus	
  características	
  sirvieron	
  de	
  base	
  para	
  la	
  construcción	
  de	
  estos	
  
mecanismos;	
  por	
  ejemplo,	
  Simula	
  contribuye	
  con	
  el	
  concepto	
  de	
  clase.	
  
HISTORIA	
  DEL	
  LENGUAJE	
  C++	
  
• En	
  la	
  década	
  de	
  los	
  70,	
  nace	
  SmallTalk como	
  un	
  lenguaje	
  orientado	
  a	
  
objetos	
  puro	
  con	
  lo	
  que	
  queda	
  introducido	
  definitivamente	
  este	
  tipo	
  de	
  
programación.	
  
• En	
  los	
  años	
  siguientes	
  los	
  avances	
  experimentados	
  en	
  la	
  programación	
  
orientada	
  a	
  objetos	
  fueron	
  pocos.	
  
• Es	
  en	
  la	
  década	
  de	
  los	
  80	
  cuando	
  los	
  avances	
  son	
  mayores,	
  debido	
  
fundamentalmente	
  a	
  la	
  disponibilidad	
  de	
  extensiones	
  orientadas	
  a	
  objetos	
  
en	
  dos	
  de	
  los	
  lenguajes	
  mas	
  populares,	
  C	
  y	
  Pascal.	
  
• Esto	
  da	
  lugar	
  a	
  la	
  aparición	
  de	
  los	
  lenguajes	
  orientados	
  a	
  objetos	
  híbridos,	
  
entre	
  los	
  que	
  se	
  destacan	
  C++	
  y	
  Pascal	
  orientado	
  a	
  objetos.	
  
• Estos	
  lenguajes	
  tienen	
  una	
  característica	
  muy	
  importante	
  y	
  es	
  que	
  guardan	
  
la	
  compatibilidad	
  con	
  sus	
  antecesores.	
  
HISTORIA	
  DEL	
  LENGUAJE	
  C++	
  
• Los	
  objetos	
  son	
  entidades	
  que	
  tratamos	
  en	
  nuestra	
  vida	
  diaria	
  y	
  el	
  
centro	
  de	
  la POO.
• Se	
  pueden	
  definir	
  como	
  la	
  representación	
  de	
  un	
  objeto	
  del	
  mundo	
  real	
  
en	
  un	
  entorno	
  de	
  programación.	
  
• Es	
  muy	
  fácil	
  identificar	
  en	
  los	
  objetos	
  del	
  mundo	
  real	
  sus	
  características	
  
principales,	
  es	
  decir	
  las	
  propiedades	
  que	
  los	
  hacen	
  diferentes	
  entre	
  si,	
  o	
  
las	
  acciones	
  que	
  puede	
  realizar.
• Es	
  precisamente	
  esta	
  la	
  labor	
  que	
  se	
  debe	
  realizar	
  en	
  la	
  POO,	
  identificar	
  
las	
  características	
  y	
  acciones	
  de	
  los	
  objetos	
  que	
  formaran	
  la	
  aplicación.	
  
OBJETOS	
  
• Identidad: Algunos objetos en la programación pueden ser una ventana,
un botón, pero aunque dos objetos sean exactamente iguales en sus
atributos, son distintos entre sí.
• Veamos en caso de los animales mamíferos, todos ellos tienen la
característica de pertenecer a este conjunto por poseer glándulas
mamarias, pero al comparar una vaca y una cabra estas son diferentes,
ya sea por el tamaño, el aspecto u otras características obvias.
• En programación, estas diferencias están marcadas por variables,
estructuras de datos, cadenas de caracteres, y a esta clase de
identificador se le denomina controlador, el cual será distinto para cada
uno de los objetos.
CARACTERISTICAS	
  
• Clasificación: Se trata de realizar una abstracción
denominada clase, esta permite la agrupación de objetos
que comparten las mismas propiedades y
comportamiento.
• No se debe olvidar que la clase es una generalización de
objeto.
CARACTERISTICAS	
  
• Encapsulación	
  y	
  ocultación	
  de	
  datos:	
  Una	
  vez	
  que	
  hemos	
  definido	
  el	
  
objeto	
  podemos	
  modelarlo.
• Este	
  modelamiento	
  del	
  objeto	
  como	
  tal	
  consiste	
  en	
  reunir	
  estados	
  y	
  
métodos	
  dentro	
  de	
  un	
  entorno	
  limitado,	
  en	
  otras	
  palabras	
  realizar	
  
encapsulación.
• Esta	
  propiedad	
  que	
  proporciona	
  el	
  modelo	
  orientado	
  a	
  objetos	
  garantiza	
  
la	
  integridad	
  de	
  los	
  datos	
  y	
  da	
  un	
  alto	
  nivel	
  de	
  seguridad	
  a	
  las	
  aplicaciones	
  
que	
  se	
  desarrollan.
• La	
  idea	
  fundamental	
  que	
  se	
  maneja	
  con	
  la	
  encapsulación	
  es	
  reunir	
  
estados	
  y	
  métodos	
  en	
  un	
  sólo	
  paquete,	
  cápsula	
  o	
  lo	
  que	
  técnicamente	
  se	
  
llamaremos	
  objeto.	
  
CARACTERISTICAS	
  
• Un	
  objeto	
  oculta	
  información	
  a	
  las	
  otras	
  clases	
  de	
  la	
  aplicación,	
  la	
  cual	
  es	
  
necesaria	
  para	
  su	
  funcionamiento	
  interno,	
  pero	
  innecesaria	
  para	
  los	
  demás	
  
objetos.	
  Hay	
  variables	
  utilizadas	
  en	
  forma	
  temporal	
  como:
• Contadores,	
  
• Variables	
  de	
  resultados	
  intermedios.
Que	
  ocuparían	
  memoria	
  o	
  interferirían	
  en	
  el	
  funcionamiento	
  del	
  resto	
  de	
  los	
  
objetos.
• Mantenibilidad:	
  Cualidad	
  que	
  indica	
  que	
  un	
  programa	
  o	
  sistema	
  debe	
  ser	
  
fácilmente	
  modificable.
• Reusabilidad:	
  Cualidad	
  que	
  nos	
  indica	
  que	
  partes	
  del	
  programa,	
  en	
  este	
  caso	
  
objetos,	
  pueden	
  ser	
  reutilizados	
  en	
  la	
  confección	
  de	
  otros	
  programas.	
  
CARACTERISTICAS	
  
• Si	
  se	
  han	
  identificado	
  ciertas	
  características	
  comunes	
  a	
  un	
  grupo	
  de	
  
objetos,	
  las	
  cuales	
  los	
  generalizan	
  en	
  su	
  apariencia	
  y	
  comportamiento	
  
encontramos	
  una	
  definición	
  de	
  tipo	
  o	
  clase	
  de	
  objetos.	
  
• Las	
  clases	
  son	
  una	
  descripción	
  abstracta	
  de	
  un	
  grupo	
  de	
  objetos	
  que	
  
comparten	
  características	
  (atributos)	
  y	
  operaciones	
  (métodos).	
  
• Ejemplo:
Cada objeto de la clase baraja es distinto, pero todos tienen una serie
de atributos comunes. Todas están identificadas por una letra o un
número, pertenecen a un grupo, etc. Y existen varias operaciones
comunes a todas ellas: pueden ser repartidas, pedidas, descartadas.
CLASES	
  
• Los	
  atributos	
  de	
  los	
  objetos	
  que	
  forman	
  las	
  clases	
  y	
  las	
  operaciones	
  que	
  
realizan	
  dependen	
  del	
  tipo	
  de	
  aplicación,	
  por	
  ejemplo	
  si	
  la	
  aplicación	
  
estuviera	
  orientada	
  a	
  la	
  fabricación	
  de	
  barajas	
  de	
  cartas,	
  los	
  atributos	
  de	
  
los	
  objetos	
  cambiarían,	
  pasando	
  a	
  ser	
  (por	
  ejemplo)	
  el	
  patrón	
  de	
  
estampación,	
  los	
  colores	
  de	
  la	
  carta,	
  etc.
• Y	
  dentro	
  de	
  las	
  operaciones	
  comunes	
  estarían	
  las	
  de	
  imprimir,	
  cortar,	
  
ordenar,	
  agrupar,	
  etc.
• Las	
  propiedades	
  de	
  una	
  clase	
  deben	
  ser	
  significativas	
  dentro	
  del	
  entorno	
  
de	
  la	
  aplicación,	
  es	
  decir	
  deben	
  ayudarnos	
  en	
  la	
  identificación	
  clara	
  y	
  
unívoca	
  de	
  cada	
  uno	
  de	
  los	
  objetos.	
  
CARACTERISTICAS	
  DE	
  CLASES	
  
//Definición de la clase
class racional
{
public:
racional(int=0, int=1);
racional suma(racional &);
racional resta(racional &);
racional multiplica(racional &);
racional divide(racional &);
void imprime();
private:
int numerador;
int denominador;
};
CLASE	
  RACIONAL	
  C++
racional::racional(int n, int d) //Constructor
{
numerador = n;
denominador = (d==0 ? 1:d);
}
void racional::imprime() //Método imprime
{
cout<<numerador<<"/"<<denominador;
}
racional racional::suma(racional &a) //Método suma
{
racional res;
res.numerador = denominador*a.numerador + numerador*a.denominador;
res.denominador = denominador*a.denominador;
return res;
}
CLASE	
  RACIONAL	
  C++
#include "racional.h"
int main() {
racional A, B(5,3), C(2,6);
A.imprime();cout<<"n";
B.imprime();cout<<"n";
C.imprime();
A = B.suma(C);
cout<<"nnLa suma es: n";
A.imprime();cout<<" = ";
B.imprime();cout<<" + ";C.imprime();
cout<<"nn";
return 0;
}
PROBANDO	
  LA	
  CLASE	
  RACIONAL	
  C++
¿Preguntas?

Más contenido relacionado

PPTX
Presentación poo
PPTX
Programación orientada a objetos presentacion
PPTX
S2-Representación Gráfica
PPTX
Fundamentos de Programación Orientada a Objetos
PDF
Programación Orientada a Objetos
PDF
Programación orientada a objetos, fundamentos
PPT
Programacion Orientada A Objetos
PPTX
Programación orientada a objetos
Presentación poo
Programación orientada a objetos presentacion
S2-Representación Gráfica
Fundamentos de Programación Orientada a Objetos
Programación Orientada a Objetos
Programación orientada a objetos, fundamentos
Programacion Orientada A Objetos
Programación orientada a objetos

La actualidad más candente (20)

PPTX
Conceptos de POO (Programacion Orientada a Objetos)
PDF
Programación Orientada a Objetos
PDF
Programación orientada a objetos
PDF
Elementos básicos de la programación orientada a objetos.
PPTX
PPT
Programación Orientada a Objetos
PDF
POO sencillito
PPTX
Programación orientada al objeto
PPT
Qué es la poo
PPTX
Programación Orientada a Objetos - Resumen
PDF
10. programación orientada a objetos (java)
PPT
Programacion orientada a objetos
PPTX
Programacion Orientada a Objetos
DOCX
Trabajo poo
PPTX
PROGRAMACION ORIENTADA A OBJETOS
PPTX
Programación Orientada a Objetos
PPTX
Conceptos basicos POO
PPT
Programacion Orientada a Objetos
PPTX
Programacion Orientada a Objetos IE
Conceptos de POO (Programacion Orientada a Objetos)
Programación Orientada a Objetos
Programación orientada a objetos
Elementos básicos de la programación orientada a objetos.
Programación Orientada a Objetos
POO sencillito
Programación orientada al objeto
Qué es la poo
Programación Orientada a Objetos - Resumen
10. programación orientada a objetos (java)
Programacion orientada a objetos
Programacion Orientada a Objetos
Trabajo poo
PROGRAMACION ORIENTADA A OBJETOS
Programación Orientada a Objetos
Conceptos basicos POO
Programacion Orientada a Objetos
Programacion Orientada a Objetos IE
Publicidad

Similar a Poo presentacion (20)

PPTX
Programación orientada a objetos
PPTX
Diseña y construye programas orientados a objetos
PPTX
Diapositiva de poo
PPTX
Jorge luis
PDF
PPTX
Programacion orientada a objetos
PDF
Aprenda c++ avanzado
PPTX
Programación orientada a objetos
PPTX
Programacion estructurada en objetos
DOC
Lenguajes de programación
DOCX
Programación orientada a objetos
DOCX
Programación orientada a objetos
PPTX
PPTX
Programación orientada a objetos
PPSX
Programacion orientada a objetos
PPTX
Programación orientada a objetos
PPTX
PPTX
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
Programación orientada a objetos
Diseña y construye programas orientados a objetos
Diapositiva de poo
Jorge luis
Programacion orientada a objetos
Aprenda c++ avanzado
Programación orientada a objetos
Programacion estructurada en objetos
Lenguajes de programación
Programación orientada a objetos
Programación orientada a objetos
Programación orientada a objetos
Programacion orientada a objetos
Programación orientada a objetos
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
Publicidad

Más de Gloria Isabel Bautista Lasprilla (13)

PDF
Herencia y polimorfismo
PDF
Complejidad computacional 1
PDF
Profesora Asociada Facultad de Ingeniería UTB
PDF
Complejidad computacional selección
PDF
PDF
Poster - presentación
PDF
PDF
Abb árboles de búsqueda binaria
PDF
Definición de clases en POO
PDF
Presentacion encuentro gloria bautista
PPT
Herencia y polimorfismo
PDF
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
PDF
Articulación Educación Media con Superior
Herencia y polimorfismo
Complejidad computacional 1
Profesora Asociada Facultad de Ingeniería UTB
Complejidad computacional selección
Poster - presentación
Abb árboles de búsqueda binaria
Definición de clases en POO
Presentacion encuentro gloria bautista
Herencia y polimorfismo
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Articulación Educación Media con Superior

Último (9)

PPTX
Control de seguridad en los sitios web.pptx
PPTX
Fundamentos de Python - Curso de Python dia 1
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
Presentacion de compiladores e interpretes
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Control de seguridad en los sitios web.pptx
Fundamentos de Python - Curso de Python dia 1
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Conceptos basicos de Base de Datos y sus propiedades
Presentacion de compiladores e interpretes
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño
Implementación equipo monitor12.08.25.pptx
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA

Poo presentacion

  • 1. POO Programación Orientada a Objetos Introducción Gloria Isabel Bautista Lasprilla bautistalasprilla.gloriaisabel@gmail.com gloria@utbvirtual.edu.co gbautista@unitecnologica.edu.co
  • 2. • El  lenguaje  C  nació  en  los  laboratorios  Bell  de  AT&T  y  ha  sido   estrechamente  asociado  con  el  sistema  operativo  UNIX,  ya  que  su   desarrollo  se  realizó  en  este  sistema  y  debido  a  que  tanto  UNIX  como  el   propio  compilador  C  y  casi  la  totalidad  de  los  programas  y  herramientas  de   UNIX,  fueron  escritos  en  C.  Su  eficiencia  y  claridad  han  hecho  que  el   lenguaje  ensamblador  apenas  haya  sido  utilizado  en  UNIX. • Este  lenguaje  está  inspirado  en  el  lenguaje  B  escrito  por  Ken  Thompson  en   1970  con  intención  de  re-­‐codificar  el  UNIX,  que  en  la  fase  de  arranque   estaba  escrito  en  ensamblador,  en  vistas  a  su  transportabilidad a  otras   máquinas.  B  era  un  lenguaje  evolucionado  e  independiente  de  la  máquina,   inspirado  en  el  lenguaje  BCPL  concebido  por  Martín  Richard  en  1967. HISTORIA  DEL  LENGUAJE  C++  
  • 3. • En 1972, Dennis Ritchie, toma el relevo y modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en dicho lenguaje. La novedad que proporcionó el lenguaje C sobre el B fue el diseño de tipos y estructuras de datos. Una de las peculiaridades de C es su riqueza de operadores. Puede decirse que prácticamente dispone de un operador para cada una de las posibles operaciones en código máquina. • Este lenguaje ha evolucionado paralelamente a UNIX. Así, en 1980 se añaden al lenguaje C, características como las clases (Tomado de Simula67), chequeo y conversión de los tipos de argumentos de función, etc.; el resultado fue el lenguaje denominado "C con clases". HISTORIA  DEL  LENGUAJE  C++  
  • 4. • En  1983/84,  C  con  clases  fue  rediseñado,  extendido  y  nuevamente  implementado.  El   resultado  se  denomino:  Lenguaje  C++.  Después  de  algún  otro  refinamiento  más,  C++   queda  disponible  en  1985.  Este  lenguaje  fue  inventado  por  Bjarne Stroustrup (AT&T   Bell  Laboratories)  y  documentado  por  varios  libros  suyos.  El  nombre  C++  se  debe  a   Rick  Mascitti,  significando  el  carácter  evolutivo  de  las  transformaciones  de  C  ('++'  es   el  operador  de  incremento  de  C).   • Son  varios  los  lenguajes  que  han  contribuido  a  la  evolución  de  los  lenguajes   orientados  a  objetos  de  hoy:  LISP  en  la  década  de  los  50,  Simula  en  los  60  y  mas   tarde  Pascal,  C,  Modula  y  Ada.   • Si  bien,  estos  lenguajes  no  incluyen  mecanismos  para  la  programación  orientada  a   objetos,  sus  características  sirvieron  de  base  para  la  construcción  de  estos   mecanismos;  por  ejemplo,  Simula  contribuye  con  el  concepto  de  clase.   HISTORIA  DEL  LENGUAJE  C++  
  • 5. • En  la  década  de  los  70,  nace  SmallTalk como  un  lenguaje  orientado  a   objetos  puro  con  lo  que  queda  introducido  definitivamente  este  tipo  de   programación.   • En  los  años  siguientes  los  avances  experimentados  en  la  programación   orientada  a  objetos  fueron  pocos.   • Es  en  la  década  de  los  80  cuando  los  avances  son  mayores,  debido   fundamentalmente  a  la  disponibilidad  de  extensiones  orientadas  a  objetos   en  dos  de  los  lenguajes  mas  populares,  C  y  Pascal.   • Esto  da  lugar  a  la  aparición  de  los  lenguajes  orientados  a  objetos  híbridos,   entre  los  que  se  destacan  C++  y  Pascal  orientado  a  objetos.   • Estos  lenguajes  tienen  una  característica  muy  importante  y  es  que  guardan   la  compatibilidad  con  sus  antecesores.   HISTORIA  DEL  LENGUAJE  C++  
  • 6. • Los  objetos  son  entidades  que  tratamos  en  nuestra  vida  diaria  y  el   centro  de  la POO. • Se  pueden  definir  como  la  representación  de  un  objeto  del  mundo  real   en  un  entorno  de  programación.   • Es  muy  fácil  identificar  en  los  objetos  del  mundo  real  sus  características   principales,  es  decir  las  propiedades  que  los  hacen  diferentes  entre  si,  o   las  acciones  que  puede  realizar. • Es  precisamente  esta  la  labor  que  se  debe  realizar  en  la  POO,  identificar   las  características  y  acciones  de  los  objetos  que  formaran  la  aplicación.   OBJETOS  
  • 7. • Identidad: Algunos objetos en la programación pueden ser una ventana, un botón, pero aunque dos objetos sean exactamente iguales en sus atributos, son distintos entre sí. • Veamos en caso de los animales mamíferos, todos ellos tienen la característica de pertenecer a este conjunto por poseer glándulas mamarias, pero al comparar una vaca y una cabra estas son diferentes, ya sea por el tamaño, el aspecto u otras características obvias. • En programación, estas diferencias están marcadas por variables, estructuras de datos, cadenas de caracteres, y a esta clase de identificador se le denomina controlador, el cual será distinto para cada uno de los objetos. CARACTERISTICAS  
  • 8. • Clasificación: Se trata de realizar una abstracción denominada clase, esta permite la agrupación de objetos que comparten las mismas propiedades y comportamiento. • No se debe olvidar que la clase es una generalización de objeto. CARACTERISTICAS  
  • 9. • Encapsulación  y  ocultación  de  datos:  Una  vez  que  hemos  definido  el   objeto  podemos  modelarlo. • Este  modelamiento  del  objeto  como  tal  consiste  en  reunir  estados  y   métodos  dentro  de  un  entorno  limitado,  en  otras  palabras  realizar   encapsulación. • Esta  propiedad  que  proporciona  el  modelo  orientado  a  objetos  garantiza   la  integridad  de  los  datos  y  da  un  alto  nivel  de  seguridad  a  las  aplicaciones   que  se  desarrollan. • La  idea  fundamental  que  se  maneja  con  la  encapsulación  es  reunir   estados  y  métodos  en  un  sólo  paquete,  cápsula  o  lo  que  técnicamente  se   llamaremos  objeto.   CARACTERISTICAS  
  • 10. • Un  objeto  oculta  información  a  las  otras  clases  de  la  aplicación,  la  cual  es   necesaria  para  su  funcionamiento  interno,  pero  innecesaria  para  los  demás   objetos.  Hay  variables  utilizadas  en  forma  temporal  como: • Contadores,   • Variables  de  resultados  intermedios. Que  ocuparían  memoria  o  interferirían  en  el  funcionamiento  del  resto  de  los   objetos. • Mantenibilidad:  Cualidad  que  indica  que  un  programa  o  sistema  debe  ser   fácilmente  modificable. • Reusabilidad:  Cualidad  que  nos  indica  que  partes  del  programa,  en  este  caso   objetos,  pueden  ser  reutilizados  en  la  confección  de  otros  programas.   CARACTERISTICAS  
  • 11. • Si  se  han  identificado  ciertas  características  comunes  a  un  grupo  de   objetos,  las  cuales  los  generalizan  en  su  apariencia  y  comportamiento   encontramos  una  definición  de  tipo  o  clase  de  objetos.   • Las  clases  son  una  descripción  abstracta  de  un  grupo  de  objetos  que   comparten  características  (atributos)  y  operaciones  (métodos).   • Ejemplo: Cada objeto de la clase baraja es distinto, pero todos tienen una serie de atributos comunes. Todas están identificadas por una letra o un número, pertenecen a un grupo, etc. Y existen varias operaciones comunes a todas ellas: pueden ser repartidas, pedidas, descartadas. CLASES  
  • 12. • Los  atributos  de  los  objetos  que  forman  las  clases  y  las  operaciones  que   realizan  dependen  del  tipo  de  aplicación,  por  ejemplo  si  la  aplicación   estuviera  orientada  a  la  fabricación  de  barajas  de  cartas,  los  atributos  de   los  objetos  cambiarían,  pasando  a  ser  (por  ejemplo)  el  patrón  de   estampación,  los  colores  de  la  carta,  etc. • Y  dentro  de  las  operaciones  comunes  estarían  las  de  imprimir,  cortar,   ordenar,  agrupar,  etc. • Las  propiedades  de  una  clase  deben  ser  significativas  dentro  del  entorno   de  la  aplicación,  es  decir  deben  ayudarnos  en  la  identificación  clara  y   unívoca  de  cada  uno  de  los  objetos.   CARACTERISTICAS  DE  CLASES  
  • 13. //Definición de la clase class racional { public: racional(int=0, int=1); racional suma(racional &); racional resta(racional &); racional multiplica(racional &); racional divide(racional &); void imprime(); private: int numerador; int denominador; }; CLASE  RACIONAL  C++
  • 14. racional::racional(int n, int d) //Constructor { numerador = n; denominador = (d==0 ? 1:d); } void racional::imprime() //Método imprime { cout<<numerador<<"/"<<denominador; } racional racional::suma(racional &a) //Método suma { racional res; res.numerador = denominador*a.numerador + numerador*a.denominador; res.denominador = denominador*a.denominador; return res; } CLASE  RACIONAL  C++
  • 15. #include "racional.h" int main() { racional A, B(5,3), C(2,6); A.imprime();cout<<"n"; B.imprime();cout<<"n"; C.imprime(); A = B.suma(C); cout<<"nnLa suma es: n"; A.imprime();cout<<" = "; B.imprime();cout<<" + ";C.imprime(); cout<<"nn"; return 0; } PROBANDO  LA  CLASE  RACIONAL  C++