13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 1 — #39<br />

✐<br />

1: Introducción a los Objetos<br />

El orig<strong>en</strong> de la revolución informática ocurrió d<strong>en</strong>tro de una máquina.<br />

Por tanto, el orig<strong>en</strong> de nuestros l<strong>en</strong>guajes de programación<br />

ti<strong>en</strong>de a parecerse a esa máquina.<br />

Pero los ord<strong>en</strong>adores no son tanto máquinas como herrami<strong>en</strong>tas de amplificación<br />

de la m<strong>en</strong>te («bicicletas para la m<strong>en</strong>te», como le gusta decir a Steve Jobs) y un medio<br />

de expresión difer<strong>en</strong>te. Como resultado, las herrami<strong>en</strong>tas empiezan a parecerse<br />

m<strong>en</strong>os a las máquinas y más a partes de nuestra m<strong>en</strong>te, y también a otros medios de<br />

expresión como la escritura, la pintura, la escultura, la animación y la cinematografía.<br />

La programación ori<strong>en</strong>tada a objetos es parte de este movimi<strong>en</strong>to hacia un uso<br />

del ord<strong>en</strong>ador como medio de expresión.<br />

Este capítulo le servirá de introducción a los conceptos básicos de la programación<br />

ori<strong>en</strong>tada a objetos (POO), incluy<strong>en</strong>do un resum<strong>en</strong> de los métodos de desarrollo<br />

de la POO. Este capítulo, y este libro, presupon<strong>en</strong> que el lector ya ti<strong>en</strong>e experi<strong>en</strong>cia<br />

con un l<strong>en</strong>guaje de programación procedural, aunque no ti<strong>en</strong>e porqué ser C. Si<br />

cree que necesita más preparación <strong>en</strong> programación y <strong>en</strong> la sintaxis de C antes de<br />

abordar este libro, debería leer el CD-ROM de <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to Thinking in C: Foundations<br />

for <strong>C++</strong> and Java, que acompaña a este libro, y está disponible también <strong>en</strong><br />

www.BruceEckel.com.<br />

Este capítulo conti<strong>en</strong>e material básico y suplem<strong>en</strong>tario. Mucha g<strong>en</strong>te no se si<strong>en</strong>te<br />

cómoda ad<strong>en</strong>trándose <strong>en</strong> la programación ori<strong>en</strong>tada a objetos sin t<strong>en</strong>er antes una<br />

visión global. Por eso, aquí se introduc<strong>en</strong> muchos conceptos que int<strong>en</strong>tan darle una<br />

visión sólida de la POO. Sin embargo, muchas personas no captan los conceptos globales<br />

hasta que no han visto primero parte de la mecánica; puede que se atasqu<strong>en</strong> o<br />

se pierdan si no hay ningún trozo de código al que ponerle las manos <strong>en</strong>cima. Si usted<br />

pert<strong>en</strong>ece a este último grupo, y está ansioso por llegar a las especificaciones del<br />

l<strong>en</strong>guaje, siéntase libre de saltar este capítulo; eso no le impedirá escribir programas<br />

o apr<strong>en</strong>der el l<strong>en</strong>guaje. Sin embargo, quizá quiera volver a este capítulo para completar<br />

sus conocimi<strong>en</strong>tos y poder compr<strong>en</strong>der porqué son importantes los objetos y<br />

cómo diseñar con ellos.<br />

1.1. El progreso de abstracción<br />

Todos los l<strong>en</strong>guajes de programación proporcionan abstracciones. Se puede afirmar<br />

que la complejidad de los problemas que se pued<strong>en</strong> resolver está directam<strong>en</strong>te<br />

relacionada con el tipo y calidad de la abstracción. Por «tipo» me refiero a «¿Qué<br />

es lo que está abstray<strong>en</strong>do». El l<strong>en</strong>guaje <strong>en</strong>samblador es una pequeña abstracción<br />

de la máquina subyac<strong>en</strong>te. Muchos l<strong>en</strong>guajes llamados «imperativos» que siguieron<br />

(como Fortran, BASIC y C) eran abstracciones del l<strong>en</strong>guaje <strong>en</strong>samblador. Estos<br />

1<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!