Está en la página 1de 82

Lenguaje de

Programación I

Ing. Gerald Basurco Zapata


• Arrays o Arreglos

• Introducción a la P
OO

• Clases y Objetos en
JAVA

• Ejemplos básicos -
POO

Tema 3
Arrays o Arreglos
Un array es una estructura de datos que contiene una
colección de datos del mismo tipo

Definición
 Los arrays se utilizan como contenedores para almacenar datos
relacionados (en vez de declarar variables por separado para cada uno de
los elementos del array).

 Todos los datos incluidos en el array son del mismo tipo. Se pueden crear
arrays de enteros de tipo int o de reales de tipo float, pero en un mismo
array no se pueden mezclar datos de tipo int y datos de tipo float.

 El tamaño del array se establece cuando se crea el array (con el operador


new, igual que cualquier otro objeto).

 A los elementos del array se accederá a través de la posición que ocupan


dentro del conjunto de elementos del array.

Propiedades de los arrays


Los arrays
unidimensionales se
conocen con el nombre
de vectores.

Los arrays
bidimensionales se
conocen con el nombre
de matrices.

Terminología
Es un arreglo de “N” elementos organizados en una dimensión donde “N”
recibe el nombre de longitud o tamaño del vector. Para hacer referencia a un
elemento del vector se usa el nombre del mismo, seguido del índice (entre
corchetes o parentesis), el cual indica una posición en particular del vector.
Vec[x]
Donde:
Vec………… Nombre del arreglo
x…………… Numero de datos que constituyen el
arreglo
Representación gráfica de un vector

Vec[1] 7
Vec[2]
8
Vec[3]
Vec[4] 9
10

Arrays Unidimensionales
VECTORES
Es un arreglo de M * N elementos organizados en dos dimensiones donde
“M” es el numero de filas o reglones y “N” el numero de columnas.
Para representar una matriz se necesita un nombre de matriz se necesita un
nombre de matriz acompañado de dos índices. Mat [R,C]
Donde R indica el renglón y C indica la columna, donde se encuentra
almacenado el dato.

Representación gráfica de una matriz


Columna
Mat [R,C]
[C]
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
Fila o Reglón
4,1 4,2 4,3 4,4
[R]

Arrays Bidimensionales
MATRICES
Operaciones de Acceso
◦ Recorrido: Procesamiento de todos y cada uno de los elementos de la lista,
también llamado acceso secuencial.
◦ Búsqueda: Búsqueda de la posición ocupada por un elemento con un
determinado valor o del elemento con un determinado valor de índice.
Operaciones de Actualización
◦ Inserción: Adición de un elemento al array, La inserción al final del array es
sencilla si el espacio de memoria reservado para el ARRAY es mayor que el
utilizado. Pero si es en una posición N – X donde X ≠ 0 y 1, entonces desde N–
X se deberá desplazarse hacia abajo todos los elementos para poder colocar el
nuevo elemento y que los demás conserven el orden relativo entre ellos.
◦ Borrado: Eliminar un elemento del array.
Otras
◦ Ordenación: Distribución de los elementos del array de acuerdo con algún
criterio de orden. Ej.: de mayor a menor, en orden alfabético, etc.
◦ Mezcla: Combinar dos listas en una sola.

Operaciones
Para declarar un array, se utilizan corchetes para indicar que se
trata de un array y no de una simple variable del tipo especificado.

Vector (array unidimensional):

tipo identificador[];
tipo[] identificador; // Preferible

Donde:
tipo es el tipo de dato de los elementos del vector identificador es
el identificador de la variable.

Declaración
Matriz (array
bidimensional):

tipo identificador[][];
tipo[][] identificador;

NOTA: No es una buena idea


que el identificador del array
termine en un dígito, p.ej.
vector3

Declaración
Para declarar un arreglo, y asignarle de inmediato un número
determinado de elementos se debe usar, la estructura anterior,
seguida del operador asignación, operador new, el tipo de dato y
el tamaño especificado entre los operadores [ ].

Ejemplo

int datos[ ] = new int[10];


double arr[ ] = new double[50];
boolean [ ]x = new boolean[100];
int[ ][ ] temperaturas = new int[12][31];

Declaración
Ahora bien, si el algoritmo requiere asignar un tamaño en tiempo
de ejecución, o sea asignado por el usuario del programa, se debe
seguir el siguiente esquema:

int arr[ ]; System.out.print(" Ingrese el numero de datos : ");


int tam = Integer.parseInt(in.readLine( ));
arr = new int[tam];

Declaración
Para acceder a los elementos de un array, utilizamos índices (para
indicar la posición del elemento dentro del array)

Vector (array unidimensional): -> vector[índice]


◦ En Java, el índice de la primera componente de un vector es
siempre 0.
◦ El tamaño del array puede obtenerse utilizando la propiedad
vector.length
◦ Por tanto, el índice de la última componente es vector.length-
1
Ejemplo
float[] notas = new float[3];

Uso
Matriz (array bidimensional): -> matriz[índice1][índice2]

Una matriz, en realidad, es un vector de vectores:


◦ En Java, el índice de la primera componente de un vector es
siempre 0, por lo que matriz[0][0] será el primer elemento de
la matriz.
◦ El tamaño del array puede obtenerse utilizando la propiedad
array.length:
matriz.length nos da el número de filas
matriz[0].length nos da el número de columnas

Por tanto, el último elemento de la matriz es


matriz[matriz.length-1][matriz[0].length-1]

Uso
Podemos asignarle un valor inicial a los elementos de un
array en la propia declaración

int vector[] = {1, 2, 3, 5, 7};


int matriz[][] = { {1,2,3}, {4,5,6} };

El compilador deduce automáticamente


las dimensiones del array.

Inicialización en la declaración
Un arreglo se pasa por referencia, o sea cumple con la propiedad que los valores pueden
ser modificados dentro del método.

Paso de un arreglo como parámetro a un


método
Ejemplo: Lectura por Teclado
Ejemplo: Lectura por Teclado
Realizar un programa que busque el menor elemento de un arreglo ingresado por teclado.

Ejercicios Resueltos
Realizar un programa que ordene y muestre un arreglo.

Ejercicios Resueltos
Introducción a la
POO
La programación Orientada a objetos (POO) es una
forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real que otros tipos
de programación.

Con la POO tenemos que aprender a pensar las cosas


de una manera distinta, para escribir nuestros
programas en términos de objetos, propiedades,
métodos y otras cosas que veremos rápidamente para
aclarar conceptos y dar una pequeña base que permita
soltarnos un poco con este tipo de programación.

Introducción
Tradicionalmente, la programación
fue hecha en una manera secuencial
o lineal, es decir una serie de pasos
consecutivos con estructuras
consecutivas y bifurcaciones.

Los lenguajes basados en esta forma


de programación ofrecían ventajas al
principio, pero el problema ocurre
cuando los sistemas se vuelven
complejos. Estos programas escritos
al estilo “espaguetti” no ofrecen
flexibilidad y el mantener una gran
cantidad de líneas de código en sólo
bloque se vuelve una tarea
complicada.

Evolución de la Programación
Frente a esta dificultad aparecieron los lenguajes basados en la
programación estructurada. La idea principal de esta forma de
programación es separar las partes complejas del programa en
módulos o segmentos que sean ejecutados conforme se requieran.
De esta manera tenemos un diseño modular, compuesto por
módulos independientes que puedan comunicarse entre sí. Poco a
poco este estilo de programación fue reemplazando al estilo
“espaguetti” impuesto por la programación lineal.

Entonces, vemos que la evolución que se fue dando en la


programación se orientaba siempre a ir descomponiendo más el
programa. Este tipo de descomposición conduce directamente a
la programación orientada a objetos.

Evolución de la Programación
Programación Estructurada

◦ Redundancia de código
◦ Problemas en la mantención de sistemas de gran
envergadura.
◦ El código del programa frecuentemente no resulta
lo modular que se espera.
◦ El nivel de reutilización de código es menor al
esperado.
◦ Cambios durante la etapa de desarrollo son
difíciles de incorporar.

Evolución de la Programación
Begin
call procedimiento
1
call procedimiento
2
Programa
End

Procedimiento 1
Programa
Principal
Procedimiento 2

Procedimiento 3
datos

Evolución de la Programación
Evolución de la Programación
Pues la creciente tendencia de crear programas cada vez más
grandes y complejos llevó a los desarrolladores a crear una
nueva forma de programar que les permita crear sistemas de
niveles empresariales y con reglas de negocios muy complejas.
Para estas necesidades ya no bastaba la programación
estructurada ni mucho menos la programación lineal. Es así
como aparece la programación orientada a objetos (POO).

La POO viene de la evolución de la programación estructurada;


básicamente la POO simplifica la programación con la nueva
filosofía y nuevos conceptos que tiene. La POO se basa en la
dividir el programa en pequeñas unidades lógicas de código. A
estas pequeñas unidades lógicas de código se les llama objetos.

¿Porque POO?
La Programación Orientada a Objetos, es una metodología de
diseño de software y un paradigma de programación, que define
los programas en términos de "clases de objetos", objetos que
son entidades que combinan estado (es decir, datos) y
comportamiento (esto es, procedimientos o métodos). La
programación orientada a objetos expresa un programa como un
conjunto de estos objetos, que se comunican entre ellos para
realizar tareas.

Definición de la POO
A diferencia del módulo en la programación estructurada.

Fomenta la reutilización y extensión del código.


Permite crear sistemas más complejos.
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software

Lo interesante de la POO es que proporciona conceptos y herramientas con las


cuales se modela y representa el mundo real tan fielmente como sea posible

Programación Orientada a Objetos


Programa

Objeto1
Objeto1 Datos
Datos

Objeto1
Datos

Objeto1
Datos

Programación Orientada a Objetos


Para entender este modelo vamos a revisar
algunos conceptos básicos:

○Objetos
○Clases
○Características Asociadas a la POO

Modelo Orientado a Objetos


Entender que es un objeto es la
clave para entender la
programación orientada a
objetos.

Primero empecemos
entendiendo que es un objeto
del mundo real. Un objeto del
mundo real es cualquier cosa
que vemos a nuestro alrededor.
Digamos que para leer este
párrafo lo hacemos a través del
monitor y una computadora,
ambos son objetos, al igual que
nuestro teléfono celular, un
árbol o un automóvil.

Que es un OBJETO
S
TE
Como

EN
interactúan sus

ON
componentes

MP
CO

No interesa

Que es un OBJETO
¿Que tiene que ver esto con la programación? La programación
orientada a objetos trabaja de esta manera. Todo el programa está
construido en base a diferentes componentes (Objetos), cada uno
tiene un rol específico en el programa y todos los componentes
pueden comunicarse entre ellos de formas predefinidas.

Todo objeto del mundo real tiene 2 componentes:


características y comportamiento.
Por ejemplo, los automóviles tienen características (marca, modelo,
color, velocidad máxima, etc.) y comportamiento (frenar, acelerar,
retroceder, llenar combustible, cambiar llantas, etc.).

Que es un OBJETO
Los Objetos de Software, al igual que los objetos del
mundo real, también tienen características y
comportamientos. Un objeto de software mantiene
sus características en una o más "variables", e
implementa su comportamiento con "métodos". Un
método es una función o subrutina asociada a un
objeto.

Que es un OBJETO
Imaginemos que tenemos estacionado en nuestra cochera un
Toyota Corolla color azul que corre hasta 260 km/h. Si pasamos
ese objeto del mundo real al mundo del software, tendremos un
objeto Automóvil con sus características predeterminadas:

Marca = Toyota, Modelo = Corolla, Color = Azul, Velocidad


Máxima = 260 km/h

Que es un OBJETO
Cuando a las características del objeto le ponemos valores
decimos que el objeto tiene estados. Las variables
almacenan los estados de un objeto en un determinado
momento.

Definición teórica
Un objeto es una unidad de código
compuesto de variables y métodos
relacionados.

Que es un OBJETO
 Las relaciones permiten que el objeto se inserte en la organización
y están formadas esencialmente por punteros a otros objetos.

 Las propiedades distinguen un objeto determinado de los


restantes que forman parte de la misma organización y tiene valores
que dependen de la propiedad de que se trate. Las propiedades de un
objeto pueden ser heredadas a sus descendientes en la organización.

 Los métodos son las operaciones que pueden realizarse sobre el


objeto, que normalmente estarán incorporados en forma de programas
(código) que el objeto es capaz de ejecutar y que también pone a
disposición de sus descendientes a través de la herencia.

Estructura de un OBJETO
RELACIONES

PROPIEDADES

OBJETO

METODOS

Estructura de un OBJETO
En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo,
nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Si hablamos en
términos de la POO, podemos decir que nuestro objeto celular es una instancia de una
clase conocida como "celular".

Comportamientos:
CLASE CELULAR
(hacer y recibir
llamadas, enviar
mensajes INSTANCIA=OBJETO
multimedia,
transmisión de
datos, etc.).

Características:
(marca, modelo,
sistema operativo,
pantalla, teclado,
etc.)

Que son las CLASES


CLASE (CELULAR)

CLASE

Una clase es una


plantilla genérica
para un conjunto
de objetos de
similares
características.

OBJETO A OBJETO B

Que son las CLASES


 Caja negra que oculta en su  Instancia de una clase:
implementación: • Cada objeto de una clase
• Atributos: variables que tiene su propia copia de los
codifican el estado de una atributos (estado propio)
instancia de la clase (objeto) • Todos los objetos de una
• Métodos: subprogramas que
clase comparten los mismos
describen el comportamiento
métodos (comportamiento
de un objeto de la clase
común)
 Una clase es semejante a un tipo:
• Atributos: estructura de datos
• Métodos: operaciones sobre el
tipo

CLASE OBJETO
Clases y Objetos
en Java
Los lenguajes de
programación utilizan
tipos de datos simples:

Enteros
Reales
Booleanos
Caracteres
etc

Objetos – Clases – POO


Pero, para representar “entidades u objetos” del mundo real hay que
utilizar tipos más elaborados.
Ejemplos de entidades del mundo real son:

Objetos – Clases – POO


Ya no nos alcanza con un
tipo de datos “simple”

Ahora necesitamos un
tipo de datos “abstracto”

Objetos – Clases – POO


 Clase = abstracción
Avion Nombre
-Matricula : string
 Es la descripción de un
-NombreDelAvion : string conjunto de objetos
-LicenciaDelPiloto : string Atributos
-CapacidadCarga : decimal  Es como una “plantilla”
-NumeroPasajeros : int
+Aterrizar()
 Una clase posee:
+Despegar() Comportamiento  Nombre
+Navegar()  atributos
 comportamiento

Objetos – Clases – POO


Un objeto es una instancia de una clase

Objetos – Clases – POO


Clase ≈ tipo Objeto ≈ variable

Objetos – Clases – POO


Como se crea o instancia un objeto

Objetos – Clases – POO


A diferencia de la programación algorítmica clásica, que estaba
centrada en las funciones, la programación orientada a objetos está
centrada en los datos. Una clase son unos datos y unos métodos que
operan sobre esos datos.

Variables miembro de Objetos

Cada objeto, es decir cada ejemplar concreto de la clase, tiene su


propia copia de las variables miembro. Las variables miembro de una
clase (también llamadas campos o atributos) pueden ser de tipos
primitivos (boolean, int, long, double, …) u referencias a objetos de
otra clase (composición).

POO – Atributos/Variables Miembro


Las variables miembro
pueden ir precedidas en su
declaración por uno de los
modificadores de acceso:
public, private, etc. Junto
con los modificadores de
acceso de la clase,
determinan qué clases y
métodos van a tener
permiso para utilizar la
clase y sus métodos y
variables miembro.

POO – Atributos/Variables Miembro


Variables miembro de clase
(static)

Una clase puede tener variables


propias de la clase y no de cada
objeto. A estas variables se les
llama variables de clase o
variables static. Las variables
static se suelen utilizar para
definir constantes comunes para
todos los objetos de la clase (por
ejemplo PI) o variables que sólo
tienen sentido para toda la clase.

POO – Atributos/Variables Miembro


El concepto de método
consiste en una forma de
encapsular un conjunto de
instrucciones dentro de
una declaración específica
(llamada generalmente
SUBPROGRAMA),
permitiendo la
descomposición funcional
y la diferenciación de
tareas.

POO - Métodos
Llamada a un método
 Los métodos pueden ser invocados o llamados de cualquier
método de la clase, incluido él mismo.
 Además, cuando se invoca, hay que pasar un valor a cada
parámetro, a través de una variable o un valor constante. La acción
de pasar valores a parámetros de tipo primitivo (int, double,
boolean, char..) se denomina paso de parámetros por valor. En éste
caso, los argumentos que se pasan, no pueden ser modificados por
la función. Tambien existe el paso por referencia donde los
argumentos que se pasan si pueden ser modificados.
 En caso que el parámetro sea de tipo Clase o arreglo, lo que se está
haciendo es un paso de parámetros por referencia, y en este caso,
los parámetros si pueden ser modificados por el método.

POO - Métodos
Análogamente, puede también haber métodos que no
actúen sobre objetos concretos a través del operador
punto. A estos métodos se les llama métodos de clase o
static. Los métodos de clase pueden recibir objetos de su
clase como argumentos explícitos, pero no tienen
argumento implícito ni pueden utilizar la referencia this.
Los métodos y variables de clase se crean anteponiendo
la palabra static.

POO - Métodos
Puede haber varios métodos con el mismo nombre pero a los cuales se les pasan
distintos parámetros. Según los parámetros que se le pasen se invocará a uno u
otro método.

◦ Si existe el método cuyos argumentos se ajustan exactamente al tipo de los


argumentos de la llamada (argumentos actuales), se llama ese método.
◦ Si no existe un método que se ajuste exactamente, se intenta promover los
argumentos actuales al tipo inmediatamente superior (por ejemplo char a
int, int a long, float a double, etc.) y se llama el método correspondiente.
◦ Si sólo existen métodos con argumentos de un tipo más amplio (por
ejemplo, long en vez de int), el programador debe hacer un cast explícito
en la llamada, responsabilizándose de esta manera de lo que pueda ocurrir.
◦ El valor de retorno no influye en la elección del método sobrecargado. En
realidad es imposible saber desde el propio método lo que se va a hacer con
él. No es posible crear dos métodos sobrecargados, es decir con el mismo
nombre, que sólo difieran en el valor de retorno.

POO – Métodos (Sobrecarga – overloaded)


Para crear un objeto de una clase se utiliza el operador new.

Veamos un ejemplo para poder entender:

◦ Presentar una tabla de equivalencia entre grados Centígrados y grados


Fahrenheit.

◦ La relación entre los grados centígrados y los grados Fahrenheit viene


dada por la expresión: grados Fahrenheit=9/5 x grados centígrados +
32. Los cálculos los vamos a realizar para un intervalo de -30 y 100

◦ El programa trata de grados, entonces podemos pensar en objetos


“grados” que encapsulen un valor en grados centígrados y los métodos
necesarios para asignar al objeto un valor en grados centígrados, así
como para obtener tanto el dato grados centígrados como su
equivalencia en grados Fahrenheit.

Creación y referencia a Objetos


Entonces, que tiene
que hacer el objeto
aplicación.
Visualizar cuantos
grados centígrados
dan Fahrenheit
Esto se consigue
enviando al objeto
grados los
mensajes
CentigradosAsigna
ry
FahrenheitObtene
r una vez para cada
valor (-30, 100)
grados centígrados
con incrementos de
6. El objeto grados
responderá
ejecutando los
métodos vinculados
con los mensajes
que recibe.
CGrados grados=new Cgrados()

En este ejemplo se observa que para crear un objeto de la clase CGrados hay
que especificar a continuación del operador new el nombre de la clase del
objeto seguido de paréntesis. Ahora bien, porque se coloca paréntesis, ¿acaso
es un método?, la respuesta seria si. Ya que toda clase tiene al menos un
método predeterminado especial denominado igual que ella, que es necesario
invocar para crear un objeto; ese método se denomina constructor de la
clase. Sobre constructores hablaremos un poco mas adelante.

Después de haber revisado el ejemplo anterior, pensara que todo se ha


podido realizar en el método main, lo cual es cierto. Pero lo que se pretende
es que puede ver de una forma clara que un programa Java es un conjunto de
objetos que se comunican entre si mediante mensajes con el fin de obtener el
resultado perseguido, y que la solución del problema sea mas sencilla

Creación y referencia a Objetos


Referencia a Objetos

El operador new devuelve una referencia al nuevo objeto, que se almacena


en una variable de tipo objeto.

CGrados grados=new Cgrados()

En el ejemplo anterior, la referencia devuelta por el operador new es


almacenada en la variable grados del tipo CGrados. En realidad una
referencia es la posición de memoria donde se localiza un objeto.

Creación y referencia a Objetos


Como acceder a los miembros de un Objeto

Para acceder desde un método de la clase aplicación o de cualquier otra clase


a un miembro (atributo, método) de un objeto de otra clase diferente se
utiliza la sintaxis: objeto.miembro

Cuando el miembro accedido es un método, la interpretación que se hace en


programación orientada a objetos es que el objeto ha recibido un mensaje, el
especificado por el nombre del método, y responde ejecutando ese método.
Los mensajes que puede recibir un objeto se corresponde con los nombres de
los métodos de su clase.

Creación y referencia a Objetos


Así como en el ejemplo de los grados:

grados.CentigradosAsignar(gradosCent)

Se interpreta como que el objeto grados recibe el mensaje


CentigradosAsignar. Entonces el objeto responde a ese mensaje
ejecutando el método de su clase que tengo el mismo nombre.
No tiene sentido pensar que un método se puede invocar aisladamente, esto
es, sin que exista un objeto para el que es invocado.

CentigradosAsignar(gradosCent) ->¿a quien se asigna el valor


gradosCent?

Creación y referencia a Objetos


Creación y referencia a Objetos
Constructores son métodos cuyo nombre coincide con el
nombre de la clase y que nunca devuelven ningún tipo de dato,
no siendo necesario indicar que el tipo de dato devuelto es void.
Los constructores se emplean para inicializar los valores de los
objetos y realizar las operaciones que sean necesarias para la
generación de este objeto (crear otros objetos que puedan estar
contenidos dentro de este objeto, abrir un archivo o una
conexión de Internet, etc.). Como cualquier método, un
constructor admite sobrecarga. Cuando creamos un objeto
podemos invocar al constructor que más nos convenga.

Constructor
Cada objeto mantiene su propia copia de los atributos pero
no de los métodos de su clase, de los cuales solo existe
una copia para todos los objetos de esa clase. Esto es, cada
objeto almacena sus propios datos, pero para acceder y
operar con ellos, todos comparten los mismos métodos
definidos en su clase. Por tanto, para que un método
conozca la identidad del objeto particular para el que ha
sido invocado, algunos Lenguajes de Programación
proporcionan una referencia al objeto denominada this.

Referencia this
Ejemplos
Consideremos una entidad bancaria; en ella identificamos entidades que son
las cuentas. Una cuenta puede verse como un objeto, que tiene atributos
(nombre, numero de cuenta, etc.) y un conjunto de métodos (transferencia,
ingresar dinero, etc.)

Empecemos creando una clase de objetos CCuenta, que representa una


cuenta bancaria. Además, definimos los atributos de interés que van a definir
esta clase de objetos:

◦ nombre: nombre del cliente.


◦ cuenta: número de cuenta
◦ saldo: saldo actual de la cuenta
◦ tipoDeInteres: tipo de interés en tanto por ciento

Ejemplo 1
Un atributo declarado privado
(private) es accesible solamente
por los métodos de su propia
clase.

No se puede acceder a
los atributos por los
métodos de cualquier
clase, incluidas las
subclases

Ejemplo 1
Pensado acerca de un objeto de la clase CCuenta, esto es, de una cuenta de
un cliente de un determinado banco, algunas acciones que pueden hacerse
son:

◦ Asignar el nombre de un cliente del banco a una cuenta.


◦ Obtener el nombre del cliente de una cuenta
◦ Asignar el numero de la cuenta
◦ Obtener el numero de la cuenta
◦ Realizar un ingreso
◦ Asignar el tipo de interés
◦ Obtener el tipo de interés
◦ Obtener el saldo, esto es, estado de la cuenta.

Ejemplo 1
Cabe aclarar que
los métodos que se
muestran en la
figura solo están
declarados. Para
ver su contenido
revise el código
entregado.

Así mismo se
puede apreciar que
esta clase carece de
constructores.

Ejemplo 1
Diagrama de la clase
Ccuenta

Notación UML

Ejemplo 1
Una vez terminado de escribir todos los métodos previstos, necesitamos crear
objetos. Para ello tendremos que escribir un programa, en el cual, tiene que
haber una clase con un método main, pues este es el punto de entrada y salida
del programa. Este requerimiento se puede satisfacer de tres maneras:

◦ Añadir a la clase CCuenta un método main que incluya el código del


programa (crear objetos CCuenta y realizar operaciones con ellos)

◦ Añadir en el mismo fichero fuente en el que esta almacenada la clase


Ccuenta, que incluya el método main.

◦ Tenemos un fichero fuente, con la clase CCuenta. Añadir en la misma


carpeta (directorio) otro fichero fuente, con la clase principal (la cual
contiene el método main)

Ejemplo 1
Se crea un objeto de la
clase CCuenta y almacena
una referencia al mismo
en la variable cuenta01.

Se establecen un
determinado estado para el
objeto referenciado por
cuenta01, enviandole los
mensajes: asignarNombre,
asignarCuenta, etc. Se puede
observar que para acceder a
un miembro del objeto se
utiliza (.)

El objeto recibe los


mensajes:
obtenerNombre,
obtenerCuenta, etc. La
respuesta a estos
mensajes es la ejecución

Ejemplo 1 de los métodos


respectivos.
Notación UML del objeto
cuenta01

Ejemplo 1
El siguiente ejemplo se crea una clase Libro con los
siguientes atributos: titulo, autor, paginas, precio. Y
con un solo método: impDatos.

En este ejemplo se crea 3 objetos de tipo Libro, los


cuales son inicializados por los constructores
correspondientes.

Ejemplo 2
constructores

referencia
this
acceder a miembros
objetos del objeto
Notación UML de los
objeto a, b, c.

Diagrama de la clase
Libro

Notación UML

También podría gustarte