316 8 52MB
Spanish Pages [243]
Objeto
cubo 1
51
cubo 2
cubo Método&3& Método&4& Superficie)
Método&2& Perímetro)) Cara)
Método1& Área)cara)
Volumen)
Método&5&
Datos) D1.)Lado) D2.)Color) D3.&Material) D4.)Densidad)
Peso)
Método6& Lado)
Método&8& Método&7& Material)
Color&&
Superficie! Volumen! 1,5! 0,125! Perímetro!! Peso! D1#=!0,5! Cara! 0,06! D2!=!marrón! 2! Área! D3!=!madera! Lado! Cara! D4!=!0,5! 0,5 0,25! ! Densidad! Color! marrón! 0,5!
Superficie! Volumen! 6! 1! Perímetro!! Peso! D1#=!1! Cara! 0,9! D2!=!verde! 4! Área! D3!=!plás,co! Lado! Cara! D4!=!0,9! 1! Densidad! Color! verde! 0,9!
1!
Figura 31. Objeto tipo cubo que contiene datos y métodos. Cubo 1 y Cubo 2 son dos instancias (objetos) tipo cubo.
Imaginemos que queremos hacer un programa que nos permita hacer construcciones tipo Lego apilando cubos de diferentes características. Nos será de utilidad que cada objeto tipo cubo nos pueda proporcionar cual es el área de su cara para saber que otros objetos o cuantos podemos apilar encima. También será de ayuda saber la altura y peso de cada objeto para poder calcular la altura y peso de la construcción final. Para obtener esto incluiremos en nuestra definición de objeto un método que nos proporcione el área de una cara del cubo y otro que nos de su peso. Así mismo para acceder a los datos del objeto utilizamos métodos, tanto para leer estos datos como para asignar un nuevo valor en al dato. Cada una de estas construcciones hechas de cubos corresponden a un nuevo objeto tipo construcción que tendrá sus datos y métodos. Los datos describirán los cubos que se han utilizado y como están distribuidos, mientras que los métodos permitirán interaccionar con este nuevo objeto. De este ejemplo podemos ver que los objetos están organizados de manera jerárquica. El objeto construcción esta compuesto de objetos tipo cubo. A su vez los objetos tipo cubo, si así lo hubiésemos definido, pueden estar compuestos por 12 objetos tipo segmento.
Segmento
Método 1 Método 2 Color
Material
Método 3"
Datos !!!!!Longitud! ! D1. Longitud! D2. Color D3. Material Método4 Longitud Método 6 Método 5 …
…
Cubo
Método 3 Método 4 Superficie
Método1 Área cara
Método 1 Método 4 Superficie
Datos Método 5"
Método 2 Perímetro Cara
Volumen
Construcción
Método&3& Método&4& Superficie)
Método&2& Perímetro)) Cara)
Método1& Área)cara)
Volumen)
Método&5&
Datos) D1.)Lado) D2.)Color) D3.&Material) D4.)Densidad)
Peso)
Material)
Peso! D1. Lado! ! D2. Color D3. Material Método6 D4. Densidad Lado
Método6&
Método&8& Método&7& Color&&
Lado)
Método 8 Método 7 Material
Color
Volumen
Datos Método 5"
Método&3& Método&4& Superficie)
Método&2& Perímetro)) Cara)
Método1& Área)cara)
Volumen)
Método&5&
Datos) D1.)Lado) D2.)Color) D3.&Material) D4.)Densidad)
Peso)
Método6&
Método&8& Método&7& Material)
Color&&
Lado)
Peso! D1. Cubo! ! D2. Número D3. Posición Método6 D4. Peso Número
Método 8 Método 7 …
Posición
Figura 32. Los objetos segmento, cubo y construcción se organizan de manera jerárquica ya que cada uno utiliza el anterior para definirse.
http://creativecommons.org/licenses/by-nc-nd/3.0/es/
52
INFORMÁTICA
2.3.3.3 Clases Siguiendo con el ejemplo del cubo, los diferentes objetos tipo cubo se basan en un diseño común. En nuestro caso, este diseño común de todos los objetos del mismo tipo se define construyendo una clase en Java (Figura 33). Cuando a partir de una clase se crea un objeto del tipo cubo diremos que se ha creado una instancia de la clase. Por ejemplo, el cubo 1 y 2 de la Figura 31 son dos instancias de la clase cubo de la Figura 32. Met.3 Met.2
Clase cubo
Met. 4
Superficie Volumen = 6*a*a = a*a*a
Perímetro cara = 4*a
Met.1 Área cara = a*a
Datos Lado = a% Color = c Material = m Densidad = d
Met.8
Met.7
material =m
Color =c
Met.5&
Peso% =&a3&*d&& %
Met.6 Lado
a
Figura 33. La clase cubo permite construir objetos tipo cubo dándole valores a los datos la salida o entrada de cada método.
y definiendo a partir de estos
Una clase contiene una conjunto de campos y métodos que permiten actuar sobre los mismos. Una vez creado un objeto basado en una determinada clase, este puede ir cambiando de atributos, estado y contenido en función de las necesidades de la aplicación. Un ejemplo de clase cubo en Java sería:
http://creativecommons.org/licenses/by-nc-nd/3.0/es/