Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 02
Unidad 02
CLASES Y OBJETOS
34
OBJETIVO ESPECÍFICO
35
INTRODUCCIÓN
Es natural pensar en las cosas que nos rodean y el uso que les podemos dar.
Un auto o un refrigerador (objetos de nuestra vida cotidiana) tienen
capacidades que podemos simplificar y abstraer para representar a todo el
conjunto de autos o refrigeradores.
Las clases son el “molde” que permite crear nuevos objetos, permiten
agruparlos y poder establecer características y comportamientos en común.
Por otra parte, los objetos son abstracciones del mundo real, buscan
representar ideas y objetos cotidianos.
Podemos imaginar a una clase como el molde para preparar galletas y, los
objetos, las galletas preparadas a partir de ese molde. Un objeto siempre
estará relacionado con una clase, pues a través de objetos es que usaremos el
potencial de las clases.
Entender cada uno de los conceptos que se asocian a las clases y objetos,
permite contar con una base sólida para el posterior desarrollo de aplicaciones
basándose en este paradigma.
36
Los conceptos asociados a estos términos, y que se desarrollarán en esta
unidad, son:
Encapsulamiento.
Constructor.
Deconstructor.
Sobrecarga.
Polimorfismo.
La elección del lenguaje puede obedecer a múltiples factores, como puede ser
la experiencia previa, el tipo de aplicación por desarrollar, el tiempo
establecido, entre otros.
37
LO QUE SÉ
38
TEMARIO DETALLADO
(12 horas)
39
2.1. Definición de clase y objeto
Para poder llevar a cabo el desarrollo de aplicaciones dentro del paradigma
orientado a objetos, es necesario que identifiquemos los elementos principales
de ello, como lo son clase y objeto.
Su importancia radica en que ambos son los pilares, sobre los cuales se
construyen módulos y funcionalidades que poseen las aplicaciones
desarrolladas con esta metodología.
Clase
Es la descripción de una situación real o de un conjunto de objetos y, al igual
que ellos, se encuentra formada por atributos y métodos, pero de forma
genérica, ya que representa a un grupo que posee determinadas
características en común.
40
es la forma en que se escribe una variable, de acuerdo con la convención
CamelCase para el nombre de variables. Seguir la convención CamelCase 1 no
es obligatorio, pero sí muy recomendable para saber a qué nos referimos en el
programa, porque usando este tipo de palabras podemos expresar mejor el
propósito de la variable o elemento que se está nombrando.
Objeto
Un objeto es una representación abstracta de una cosa del mundo real, con
sus características y propiedades, por lo que un objeto busca combinar en una
sola unidad, datos y funciones que operan sobre esos datos.
Si se piensa en los objetos como piezas base a partir de las cuales se pueden
elaborar construcciones y estructuras más complejas, entonces también se
debe contemplar la idea de que son intercambiables y reusables.
1
CamelCase es un estilo de escritura que se utiliza cuando debemos hacer referencia a varias
palabras en una sola, el nombre viene de la semejanza con el subir y bajar de las jorobas de un
camello. Consiste en usar mayúscula, como elemento para distinguir una palabra de otra, en la
misma palabra compuesta.
41
Nombre del Atributos o Métodos o
concepto por propiedades funciones del
representar del objeto objeto
rojo
Atributos grande
Ford
Avanzar()
Métodos
Frenar()
42
2.2 . Atributos
Los atributos son una característica del concepto que se quiere representar; se
refiere a las propiedades que pertenecen a una determinada clase.
Normalmente se usan para describir el estado de un objeto.
1. Tipo del atributo. Por ejemplo: integer, boolean, char, entre otros.
2. Nombre del atributo. Por ejemplo: nombre, género, edad, etc.
2.3 . Métodos
Es una propiedad del concepto que se quiere representar. Son las operaciones
que puede realizar un objeto; es decir, describen el comportamiento de un
objeto. Es importante saber que la puesta en marcha de un método puede
modificar el estado o atributo del objeto.
43
A continuación se tiene un ejemplo de sintaxis en lenguaje Java para indicar los
métodos de una clase.
Ejemplo.
Representación de los zapatos.
Un zapato posee características, tales como:
Tipo: deportivo, casual, formal, etc.
Talla: 4, 5, 6, etc.
Color: café, negro, azul, etc.
Zapato
Tipo
Talla
Color
Abrocharse()
Desgastarse()
44
}
2.4 . Mensajes
Es necesario que los distintos objetos interactúen entre sí. La interacción se
lleva a cabo mediante el envío de mensajes. El envío de mensajes no se
realiza en el ámbito de redes de computadoras, sino más bien en la puesta en
marcha de diversas solicitudes de un objeto hacia otro.
45
Libro
El método 1 llama al
Atributos método 2 mediante
El método 3 se invoca un mensaje
por un mensaje de otro Método_1
objeto
Método_2
Método_3
/*…*/
Libro objLibro1 = new Libro();
objLibro1.metodo1(param1);
/*…*/
2.5 . Encapsulamiento
El encapsulamiento es otro de los conceptos fundamentales dentro del
paradigma orientado a objetos. Hace referencia a la capacidad que tiene un
objeto de ocultar determinada información a los otros objetos con los que se
encuentra interactuando. De esta manera, se permite seleccionar qué se desea
hacer público y qué no, ya que los otros objetos no tienen necesidad de
conocer lo que es parte del funcionamiento interno de ese objeto.
46
Visto desde el punto de vista de un lenguaje orientado a objetos, permite que
determinadas variables sean visibles o públicas para otros objetos, mientras
que las que están orientadas a su funcionamiento son privadas y sólo pueden
ser llamadas por algún método de ese mismo objeto.
47
El atributo modulo, al ser declarado como privado, sólo puede ser
accedido dentro del mismo objeto de la clase Punto.
Los atributos x - y, pueden ser accedidos desde cualquier parte del
programa.
El método dibujarPunto() puede ser invocado desde un objeto declarado
a partir de la clase Punto.
2.6 Constructores
Un constructor es una función especial que se llama de forma automática
cuando se instancia una clase para crear un objeto, a fin de que sea colocado
en la memoria e inicializar los atributos que se declararon en la clase.
2
El tipo de retorno vacío hace referencia a que la ejecución del código fuente de determinada
funcionalidad, no regresa ningún valor. En una suma de 2 cantidades A y B, el resultado D.
48
public Class Libro{
public Libro(){
}
public tituloLibro(char titulo) {
System.out.println(“El titulo del libro es:
”+titulo);
}
}
Posteriormente se tiene la llamada a instanciar un elemento de la clase
“Libro” e indicar su título:
2.7 Destructores
49
implementar un método del tipo “finalize” para llevar a cabo esta tarea de forma
manual.
50
RESUMEN
Los atributos caracterizan a la clase, mientras que los métodos son las
operaciones que puede realizar.
51
GLOSARIO
Clase
Es un molde a partir del cual se pueden generar distintos tipos de objetos con
características en común.
Constructor
Es un método empleado para la inicialización de los atributos de un objeto para
su posterior uso.
Deconstructor o destructor
Es un método que se emplea para liberar los recursos empleados por un objeto
y que ya no son necesarios.
Encapsulamiento
Se refiere al establecimiento de la visibilidad de los atributos y métodos de una
clase en su relación con otras clases.
Objeto
Abstracción de un concepto físico o lógico del mundo real. Posee identidad,
atributos y métodos.
Sobrecarga
Es el empleo de un mismo método de distinta forma.
52
ACTIVIDADES DE APRENDIZAJE
ACTIVIDAD 1
Proporciona un ejemplo de clase, e instancia un objeto que pertenezca a esa
clase.
ACTIVIDAD 2
Escribe un ejemplo donde ubiques una clase padre, con dos clases hijas, que
realicen la sobrecarga de uno de los métodos de la clase padre.
Utiliza un procesador de textos para hacer tu actividad; una vez que concluyas
envía tu información; presiona el botón Examinar para localizar el archivo en tu
computadora y por último presiona Subir este archivo.
ACTIVIDAD 3
Ejemplifica dos clases e indica cómo se llevaría a cabo el envío de mensajes
entre ellas. Utiliza un editor de textos para hacer tu actividad; una vez que
concluyas envía tu información; presiona el botón Examinar para localizar el
archivo en tu computadora y por último presiona Subir este archivo.
53
ACTIVIDAD 4
Utiliza un editor de textos para hacer tu actividad; una vez que concluyas envía
tu información; presiona el botón Examinar para localizar el archivo en tu
computadora y por último presiona Subir este archivo.
ACTIVIDAD 5
Utiliza un editor de texto para hacer tu actividad; una vez que concluyas envía
tu información; presiona el botón Examinar para localizar el archivo en tu
computadora y por último presiona Subir este archivo.
54
CUESTIONARIO DE
REFORZAMIENTO
55
LO QUE APRENDÍ
- Para un videoclub se tienen distintos tipos de películas, las cuales poseen las
siguientes características: nombre, año de realización, género, si es estreno
o no, clasificación interna de la tienda (5 estrellas significa muy buena, 1
significa que es mala) y número de serie.
- El proveedor llega una vez por semana y surte el catálogo con nuevos títulos,
los cuales son etiquetados en primer momento como estrenos.
56
EXAMEN DE AUTOEVALUACIÓN
Verdadera Falsa
1. Un objeto es un molde para crear clases, las cuales ( ) ( )
poseen atributos, métodos e identidad.
2. Un objeto se comunica con otro a través de mensajes, ( ) ( )
los cuales llaman a la ejecución de un método.
3. El encapsulamiento consiste en guardar dentro de una ( ) ( )
clase distintos objetos.
4. La sobrecarga de un método consiste en emplear ese ( ) ( )
mismo método, pero de distintas formas.
5. Un constructor es una forma de instanciar una clase y ( ) ( )
crear un nuevo objeto.
6. Un deconstructor es una forma de eliminar un objeto ( ) ( )
que ya no es necesario
57
MESOGRAFÍA
Bibliografía sugerida
Bibliografía Básica
Jenkins, Tony & Hardman, Graham. (2004) How to program using Java.
Palgrave Macmillan: Nueva York, NY. [Vista previa]
Sierra, Kathy & Bates, Bert. (2005). Head First Java. (2nd ed.) O’Reilly:
Sebastopol, CA. [Vista previa]
Bibliografía Complementaria
58
Booch, G. (1996) Análisis y diseño orientado a objetos con aplicaciones. (2ª
ed.) México: Addison Wesley.
McLaughlin, Brett D.; Pollice, Gary y West, David. (2006). Head First Object
Oriented Analysis and Design. O’Reilly: Sebastopol, CA.
Sitios de Internet
Sitio Descripción
http://zarza.usal.es/~fgarcia/doc/tuto2/II_5. Guía de iniciación al lenguaje Java:
htm clases y objetos.
http://tikal.cifn.unam.mx/~jsegura/LCGII/ja Curso de Java
va1.htm
http://docs.oracle.com/javase Java SE Technical Documentation
http://www.devtroce.com/2010/10/28/progr Programación orientada a objetos:
amacion-orientada-a-objetos- Constructores y sobrecarga.
constructores-y-sobrecarga/
59