Capítulo I: “Introducción a la Programación Orientada a Objetos” Nos estamos adentrando a una nueva aventura, en la cual, conoceremos acerca del

interesantísimo, útil y actual lenguaje de Programación: Java. 1.1 Programación Convencional Como todos sabemos, los programas se componen de procedimientos y datos. Los procedimientos son los que se encargan de realizar tareas específicas, como calcular la suma de dos números, o mostrar un Frame en pantalla. Los argumentos (datos que se le pasan a los procedimientos), son generalmente estructuras globales o se pasan como parámetros. Java, es un lenguaje de programación Orientado a Objetos… mmm… entonces, ¿qué es la programación orientada a objetos?... pues bien, es una técnica de programación, que usa los objetos como secuencia de construcción. Y, ¿qué es un objeto?, Un Objeto es una colección de datos, junto con las funciones asociadas a esos datos y que operan sobre ellos. Lo importante y fundamental de los objetos, son las propiedades de ellos, y éstas son: • Herencia • Encapsulamiento o Encapsulación • Polimorfismo. Supongo que, al igual que yo, es muy difícil de buenas a primeras comprender la Abstracción de los objetos, en programación. Pero no es tan difícil como parece, solo mire a su alrededor… ¿Qué ve?... una lámpara, un escritorio, una computador, ¿qué es lo que ve?... un sofá, unos libros…. Pues bien, todas las cosas que usted ve, son objetos. Debemos tener presente que, los humanos pensamos en términos de objetos. Por ejemplo, si usted ve una lámpara, inmediatamente la identifica como tal, pero usted sabe que un lámpara se

compone de una base (que puede ser de metal, de porcelana, de plástico), se compone también de un foco, el cual es el que emite la luz, posee también una cortinilla, que a veces es sólo cartón forrado, y que sirve como adorno. Etc, etc… pero usted cuando piensa en una lámpara, NO piensa en los componentes de ésta, sino que piensa en el objeto_lámpara

1.2 Características de los Objetos Los objetos como tales, presentan muchas cualidades diferentes, respecto a una variable simple. Entre ellas podemos mencionar las siguientes: 1. Los objetos se pueden agrupar en rubros (o tipos) denominados Clases 2. El estado de los objetos está determinado por los datos del mismo
3. Permite lo que se conoce como Ocultación de datos

4. Pueden heredar propiedades de otros objetos
5. Por

medio de los Mensajes un objeto se puede comunicar con otro

6. Los métodos definen el comportamiento de los objetos

Un objeto se puede representar gráficamente de la siguiente manera:

En donde, Nombre, es identificar correspondiente a ese objeto: Por ejemplo Empleados(), Alumnos(), Datos(), etc, etc.

Los atributos, son los datos con los que operan los métodos (o Funciones) del objeto. Y las Funciones o Métodos, son las que operan sobre esos datos. Clases Se puede decir, que son tipos definidos por el usuario, las cuales determinan la estructura de los datos y las funciones asociadas con esos tipos. Las clases como plantillas (que el programador crea). La clase define las variables y los métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones. Primero deberemos crear una clase antes de poder crear objetos o instancias (ejemplares) de esa clase. ¿Qué son los mensajes? Para poder crear una aplicación se necesita más de un objeto, y estos objetos no pueden estar aislados unos de otros, para comunicarse esos objetos se envían mensajes. Los mensajes son simples llamadas a las funciones o métodos del objeto con el se quiere comunicar para decirle que haga alguna cosa. ¿Qué es la herencia? La herencia es un mecanismo que permite crear una clase basándose en una clase existente, y ésta tendrá todas las variables y los métodos de su ‘superclase’, y además se le podrán añadir otras variables y métodos propios. Se llama ‘Superclase’ a la clase de la que desciende una clase. Polimorfismo (Poli=muchos; morfo=Formas), Polimorfismo, es la cualidad de tener más de una forma. Java, permite que el código de sus programas tenga la posibilidad de ser usados con diferentes tipos de datos u objetos. Por ejemplo, supongamos que A y B son dos variables de tipo entero, entonces, la operación: C= A+B

Nos devolverá la suma de éstos dos números, el cuyo resultado será guardado en la variable C. Pero supongamos que A y B son del tipo String (es decir, dos cadenas de caracteres): String A= “Hola”; String B= “Bienvenidos a la Programación en Java”; String C; C=A+B; Al tener esa secuencia de commandos, ya no obtendremos como resultado la suma de esos dos números, sino la concatenación de esas dos cadenas. Por tanto, el resuldao en pantalla, sería el siguiente: