SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
01.03 ASOCIACIONES Y MULTIPLICIDAD
ING. MAURICIO ORTIZ
MORTIZO@UPS.EDU.EC
C-CT-ICO-102 | PROGRAMACIÓN
ORIENTADA A OBJETOS
UNIDAD 01.- PROGRAMACIÓN
ORIENTADA A OBJETOS
BUCLES I
while do … while
BUCLES II
for for each
ARREGLOS UNIDIMENSIONALES (VECTORES)
 Un arreglo es una estructura de datos que nos
permite almacenar una lista de datos de un mismo
tipo.
 Utiliza un índice que inicia en 0.
 Declaración e inicialización
 Variables:
 var identificadorArreglo = new tipoDato[dimension];
 Atributos:
 tipoDato identificadorArreglo [ ];
 identificadorArreglo = new tipoDato[dimension];
 El tamaño del arreglo NO puede ser dinámico
mientras se ejecuta.
ARREGLOS BIDIMENSIONALES (MATRICES)
 Un arreglo bidimensional es una estructura de
datos que nos permite almacenar una lista de
datos de un mismo tipo en forma de matriz.
 Utiliza índice en filas y columnas que inician en 0.
 Declaración e inicialización
 Variables:
 var identificadorMatriz = new tipoDato[filas][columnas];
 Atributos:
 tipoDato identificadorMatriz [ ][ ];
 identificadorMatriz = new tipoDato[filas][columnas];
 El tamaño de la matriz NO puede ser dinámico
mientras se ejecuta.
EJERCICIO EN CLASE
 Se necesita una clase que permita el manejo de
arreglos (vectores y matrices)
 Un método que permita crear un vector
dinámico a partir de una dimensión específica.
 Un método que permita crear una matriz
dinámica a partir de las filas y columnas.
 Para cargar los valores de los vectores y las
matrices se debe utilizar el método random() de
la clase Math.
 Un método para sumar vectores y otro para
sumar matrices.
RELACIONES
 Las relaciones de asociación se utilizan para
resolver diagramas en los cuales existen dos o
más clases relacionadas.
 La asociación se representa como una línea
recta entre dos clases relacionadas.
MULTIPLICIDAD
 Esta característica de la relación explica la
cardinalidad que existe entre las clases, es decir
cuántos objetos de una clase pueden participar en
la otra.
 La multiplicidad representa cuántos objetos de esa
clase se pueden asociar con la otra clase de la
asociación.
 Se puede representar varios tipos de multiplicidad.
 0..1 Asociación opcional o máximo un objeto.
 1. Exactamente un objeto.
 0..* Asociación opcional o n objetos
 1..* N objetos, pero al menos uno obligatorio
NAVEGABILIDAD
 Esta característica es opcional pero muy
importante dentro de las relaciones, ya que
permite indicar la dirección en la cual pasará el
objeto de una clase a otra.
 Cuando dos clases se encuentran relacionadas,
y lo que se desea es representar que en la
ClaseA se va a crear un objeto de la ClaseB,
entonces la navegabilidad se representa con
una flecha en la ClaseB.
 En la relación se puede describir el nombre del
objeto que se creará a partir de una ClaseB en
la ClaseB.
EJERCICIO EN CLASE
 Se necesita crear un sistema que permita
guardar la información de los contactos de una
agenda telefónica.
 La agenda puede contener varias personas, de
las que se debe guardar la cédula, nombre y
fecha de nacimiento.
 Se debe almacenar toda la información
referente a los números telefónicos que posee.
 Un número telefónico no puede pertenecer a
varias personas.
BIBLIOGRAFÍA
TEXTOS BÁSICOS
1 D. J. Eck; Introduction to Programming Using Java; 7a. ed.; 2016. 2 L
2 Cay S. Horstmann; Core Java Volume I—Fundamentals; 10a. ed.; 2015
3 Deitel P.j; Java : how to program, 9a. ed.; 2012
4 M. Ortiz, A. Plaza; Fundamentos de Programación en JAVA y UML; UPS Cuenca; 2014
5 Seidl, M., Scholz, M., Huemer, C., & Kappel, G.; UML@ classroom; Springer; 2015
LECTURAS SUGERIDAS
1 Martin, R. C. ; Código limpio. Editorial ANAYA; 2012
2 Johnson, R., & Vlissides, J. ; Design patterns. Elements of Reusable Object-Oriented Software Addison-Wesley, Reading; 1994
3 C. Fontela, C.; UML – Modelado de Software para profesionales; 2a. ed; 2012
4 J. Rumbaugh, I. Jacobson, Booch G.; The Unified Modeling Language Reference Manual; 2a. ed.; 2004
MÉTODOS DE LA CLASE MATH
Método. Descripción.
abs(double a)
Devuelve el valor absoluto de un valor double introducido
como parámetro.
acos(double a)
Devuelve el arco coseno de un valor introducido como
parámetro.
addExact(int x, int
y)
Devuelve la suma de sus argumentos, lanzando una excepción
si el resultado desborda un int.
addExact(long x,
long y)
Devuelve la suma de sus argumentos, lanzando una excepción
si el resultado se desborda a long.
asin(double a) Devuelve el arco seno de un valor introducido.
atan(double a) Devuelve el arco tangente de un valor introducido.
cbrt(double a) Devuelve la raíz cúbica de un doublevalor.
cos(double a) Devuelve el coseno trigonométrico de un ángulo.
exp(double a)
Devuelve el número e de Euler elevado a la potencia de un
doublevalor.
log(double a) Devuelve el logaritmo natural (base e ) de un double valor.
log10(double a) Devuelve el logaritmo de base 10 de un doublevalor.
max(double a,
double b)
Devuelve el mayor de dos valores double
Método. Descripción.
max(double a, double b) Devuelve el mayor de dos valores double
max(int a, int b) Devuelve el mayor de dos valores Enteros.
max(long a, long b) Devuelve el mayor de dos valores long.
min(double a, double b) Devuelve el menor de dos valores double.
multiplyExact(int x, int y)
Devuelve el producto de los argumentos, lanzando
una excepción si el resultado desborda un int.
pow(double a, double b)
Devuelve el valor del primer argumento elevado a
la potencia del segundo argumento.
random()
Devuelve un double valor con un signo positivo,
mayor o igual que 0.0 y menor que 1.0.
round(double a)
Devuelve el long redondeado más cercano al
double introducido.
round(float a)
Devuelve el int mas cercano y redondeado al float
introducido.
sin(double a) Devuelve el seno trigonométrico de un ángulo.
sqrt(double a)
Devuelve la raíz cuadrada positiva correctamente
redondeada de un doublevalor.
tan(double a) Devuelve la tangente trigonométrica de un ángulo.
UNIDAD 01.- PROGRAMACIÓN ORIENTADA OBJETOS
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Math.html
PLANTILLAS DE CÓDIGO | NETBEANS
 public static void main(String[] args) {}
 psvm+TAB
 System.out.println(“Hola mundo”)
 sout+TAB
 System.out.println("this = " + this);
 soutv+TAB
 if (true) {} else {}
 ifelse+TAB
 switch (var) {case val: break;default:throw new
AssertionError();}
 sw+TAB
 for (int i = 0; i < 10; i++) { }
 for+TAB
 while (true) { }
 wh+TAB
 try { } catch (Exception e) { }
 trycatch+TAB

Weitere ähnliche Inhalte

Ähnlich wie Unidad_01_03.pdf (20)

Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambientedeprogramacinenpascal 111015091809-phpapp02
 
Uni3m
Uni3mUni3m
Uni3m
 
Realizarmanipulacion
RealizarmanipulacionRealizarmanipulacion
Realizarmanipulacion
 
unidad 3
unidad 3unidad 3
unidad 3
 
Diseño oo
Diseño ooDiseño oo
Diseño oo
 
BASE DE DATOS.pdf
BASE DE DATOS.pdfBASE DE DATOS.pdf
BASE DE DATOS.pdf
 
e.si.m.l.p
 e.si.m.l.p e.si.m.l.p
e.si.m.l.p
 
Funciones
FuncionesFunciones
Funciones
 
tipos
tipos tipos
tipos
 
Copia de copia de e.si.m.l.p
Copia de copia de e.si.m.l.pCopia de copia de e.si.m.l.p
Copia de copia de e.si.m.l.p
 
E.si.m.l.p
 E.si.m.l.p E.si.m.l.p
E.si.m.l.p
 
E.si.m.l.p (1)
E.si.m.l.p (1)E.si.m.l.p (1)
E.si.m.l.p (1)
 
E.si.m.l.p (1)
E.si.m.l.p (1)E.si.m.l.p (1)
E.si.m.l.p (1)
 
e.si.m.l.p
 e.si.m.l.p e.si.m.l.p
e.si.m.l.p
 
Copia de e.si.m.l.p
Copia de e.si.m.l.pCopia de e.si.m.l.p
Copia de e.si.m.l.p
 
Realizarmanipulacion
RealizarmanipulacionRealizarmanipulacion
Realizarmanipulacion
 

Mehr von FelipeFarfn2

Presentacion Circuitos Resonantes marzo 2023 (4).pdf
Presentacion Circuitos Resonantes marzo 2023 (4).pdfPresentacion Circuitos Resonantes marzo 2023 (4).pdf
Presentacion Circuitos Resonantes marzo 2023 (4).pdfFelipeFarfn2
 

Mehr von FelipeFarfn2 (7)

Presentacion Circuitos Resonantes marzo 2023 (4).pdf
Presentacion Circuitos Resonantes marzo 2023 (4).pdfPresentacion Circuitos Resonantes marzo 2023 (4).pdf
Presentacion Circuitos Resonantes marzo 2023 (4).pdf
 
Unidad_01_00.pdf
Unidad_01_00.pdfUnidad_01_00.pdf
Unidad_01_00.pdf
 
Unidad_01_04.pdf
Unidad_01_04.pdfUnidad_01_04.pdf
Unidad_01_04.pdf
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
 
Unidad_02_01.pdf
Unidad_02_01.pdfUnidad_02_01.pdf
Unidad_02_01.pdf
 
Unidad_02_02.pdf
Unidad_02_02.pdfUnidad_02_02.pdf
Unidad_02_02.pdf
 
Unidad_03_01.pdf
Unidad_03_01.pdfUnidad_03_01.pdf
Unidad_03_01.pdf
 

Unidad_01_03.pdf

  • 1. 01.03 ASOCIACIONES Y MULTIPLICIDAD ING. MAURICIO ORTIZ MORTIZO@UPS.EDU.EC C-CT-ICO-102 | PROGRAMACIÓN ORIENTADA A OBJETOS UNIDAD 01.- PROGRAMACIÓN ORIENTADA A OBJETOS
  • 2. BUCLES I while do … while
  • 4. ARREGLOS UNIDIMENSIONALES (VECTORES)  Un arreglo es una estructura de datos que nos permite almacenar una lista de datos de un mismo tipo.  Utiliza un índice que inicia en 0.  Declaración e inicialización  Variables:  var identificadorArreglo = new tipoDato[dimension];  Atributos:  tipoDato identificadorArreglo [ ];  identificadorArreglo = new tipoDato[dimension];  El tamaño del arreglo NO puede ser dinámico mientras se ejecuta.
  • 5. ARREGLOS BIDIMENSIONALES (MATRICES)  Un arreglo bidimensional es una estructura de datos que nos permite almacenar una lista de datos de un mismo tipo en forma de matriz.  Utiliza índice en filas y columnas que inician en 0.  Declaración e inicialización  Variables:  var identificadorMatriz = new tipoDato[filas][columnas];  Atributos:  tipoDato identificadorMatriz [ ][ ];  identificadorMatriz = new tipoDato[filas][columnas];  El tamaño de la matriz NO puede ser dinámico mientras se ejecuta.
  • 6. EJERCICIO EN CLASE  Se necesita una clase que permita el manejo de arreglos (vectores y matrices)  Un método que permita crear un vector dinámico a partir de una dimensión específica.  Un método que permita crear una matriz dinámica a partir de las filas y columnas.  Para cargar los valores de los vectores y las matrices se debe utilizar el método random() de la clase Math.  Un método para sumar vectores y otro para sumar matrices.
  • 7. RELACIONES  Las relaciones de asociación se utilizan para resolver diagramas en los cuales existen dos o más clases relacionadas.  La asociación se representa como una línea recta entre dos clases relacionadas.
  • 8. MULTIPLICIDAD  Esta característica de la relación explica la cardinalidad que existe entre las clases, es decir cuántos objetos de una clase pueden participar en la otra.  La multiplicidad representa cuántos objetos de esa clase se pueden asociar con la otra clase de la asociación.  Se puede representar varios tipos de multiplicidad.  0..1 Asociación opcional o máximo un objeto.  1. Exactamente un objeto.  0..* Asociación opcional o n objetos  1..* N objetos, pero al menos uno obligatorio
  • 9. NAVEGABILIDAD  Esta característica es opcional pero muy importante dentro de las relaciones, ya que permite indicar la dirección en la cual pasará el objeto de una clase a otra.  Cuando dos clases se encuentran relacionadas, y lo que se desea es representar que en la ClaseA se va a crear un objeto de la ClaseB, entonces la navegabilidad se representa con una flecha en la ClaseB.  En la relación se puede describir el nombre del objeto que se creará a partir de una ClaseB en la ClaseB.
  • 10. EJERCICIO EN CLASE  Se necesita crear un sistema que permita guardar la información de los contactos de una agenda telefónica.  La agenda puede contener varias personas, de las que se debe guardar la cédula, nombre y fecha de nacimiento.  Se debe almacenar toda la información referente a los números telefónicos que posee.  Un número telefónico no puede pertenecer a varias personas.
  • 11. BIBLIOGRAFÍA TEXTOS BÁSICOS 1 D. J. Eck; Introduction to Programming Using Java; 7a. ed.; 2016. 2 L 2 Cay S. Horstmann; Core Java Volume I—Fundamentals; 10a. ed.; 2015 3 Deitel P.j; Java : how to program, 9a. ed.; 2012 4 M. Ortiz, A. Plaza; Fundamentos de Programación en JAVA y UML; UPS Cuenca; 2014 5 Seidl, M., Scholz, M., Huemer, C., & Kappel, G.; UML@ classroom; Springer; 2015 LECTURAS SUGERIDAS 1 Martin, R. C. ; Código limpio. Editorial ANAYA; 2012 2 Johnson, R., & Vlissides, J. ; Design patterns. Elements of Reusable Object-Oriented Software Addison-Wesley, Reading; 1994 3 C. Fontela, C.; UML – Modelado de Software para profesionales; 2a. ed; 2012 4 J. Rumbaugh, I. Jacobson, Booch G.; The Unified Modeling Language Reference Manual; 2a. ed.; 2004
  • 12. MÉTODOS DE LA CLASE MATH Método. Descripción. abs(double a) Devuelve el valor absoluto de un valor double introducido como parámetro. acos(double a) Devuelve el arco coseno de un valor introducido como parámetro. addExact(int x, int y) Devuelve la suma de sus argumentos, lanzando una excepción si el resultado desborda un int. addExact(long x, long y) Devuelve la suma de sus argumentos, lanzando una excepción si el resultado se desborda a long. asin(double a) Devuelve el arco seno de un valor introducido. atan(double a) Devuelve el arco tangente de un valor introducido. cbrt(double a) Devuelve la raíz cúbica de un doublevalor. cos(double a) Devuelve el coseno trigonométrico de un ángulo. exp(double a) Devuelve el número e de Euler elevado a la potencia de un doublevalor. log(double a) Devuelve el logaritmo natural (base e ) de un double valor. log10(double a) Devuelve el logaritmo de base 10 de un doublevalor. max(double a, double b) Devuelve el mayor de dos valores double Método. Descripción. max(double a, double b) Devuelve el mayor de dos valores double max(int a, int b) Devuelve el mayor de dos valores Enteros. max(long a, long b) Devuelve el mayor de dos valores long. min(double a, double b) Devuelve el menor de dos valores double. multiplyExact(int x, int y) Devuelve el producto de los argumentos, lanzando una excepción si el resultado desborda un int. pow(double a, double b) Devuelve el valor del primer argumento elevado a la potencia del segundo argumento. random() Devuelve un double valor con un signo positivo, mayor o igual que 0.0 y menor que 1.0. round(double a) Devuelve el long redondeado más cercano al double introducido. round(float a) Devuelve el int mas cercano y redondeado al float introducido. sin(double a) Devuelve el seno trigonométrico de un ángulo. sqrt(double a) Devuelve la raíz cuadrada positiva correctamente redondeada de un doublevalor. tan(double a) Devuelve la tangente trigonométrica de un ángulo. UNIDAD 01.- PROGRAMACIÓN ORIENTADA OBJETOS https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Math.html
  • 13. PLANTILLAS DE CÓDIGO | NETBEANS  public static void main(String[] args) {}  psvm+TAB  System.out.println(“Hola mundo”)  sout+TAB  System.out.println("this = " + this);  soutv+TAB  if (true) {} else {}  ifelse+TAB  switch (var) {case val: break;default:throw new AssertionError();}  sw+TAB  for (int i = 0; i < 10; i++) { }  for+TAB  while (true) { }  wh+TAB  try { } catch (Exception e) { }  trycatch+TAB