Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Apuntes sobre Clases y Objetos: Métodos y Constructores - Prof. Anaya, Apuntes de Ingeniería Infórmatica

En este documento se presentan los conceptos básicos de clases y objetos en java y ruby, con un enfoque especial en métodos y constructores. Se explican los tipos de métodos (destructores, constructores, consultores y modificadores), el ciclo de vida de un objeto y cómo crear y usar constructores personalizados. Además, se comparan los constructores en java y ruby y se discuten sus ventajas.

Tipo: Apuntes

2017/2018

Subido el 28/01/2018

juancpineda97
juancpineda97 🇪🇸

4.5

(2)

11 documentos

1 / 76

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
Lección 2.1: Clases y Objetos: Conceptos Básicos
Tema 2
Clases, objetos y mensajes
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c

Vista previa parcial del texto

¡Descarga Apuntes sobre Clases y Objetos: Métodos y Constructores - Prof. Anaya y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

Lección 2.1: Clases y Objetos: Conceptos Básicos

Tema 2

Clases, objetos y mensajes

Tema 2: Clases, objetos y mensajes

Objetivos generales

  • (^) Comprender el concepto de objeto.
  • (^) Entender la utilidad de las clases como mecanismo de abstracción.
  • (^) Conocer los elementos de definición de una clase.
  • (^) Conocer la sintaxis de un diagrama de clases UML.
  • (^) Comprender la relación entre los objetos y las clases que los instancian , identificando al mismo tiempo las diferencias que existen entre ambos elementos.
  • (^) Conocer la diferencia entre mensaje y método.
  • (^) Entender el envío de mensajes entre objetos como el mecanismo básico de ejecución en un programa orientado a objetos.
  • (^) Conocer las pseudovariables.
  • (^) Saber traducir un diagrama de clases UML al “esqueleto de código” correspondiente a las clases que aparecen en él.
  • (^) Saber traducir un diagrama de interacción UML (de secuencia o de colaboración) a código.

Lección 2.1: Clases y Objetos: Conceptos Básicos Lección 2. Clases y Objetos: Conceptos Básicos

Lección 2.1: Clases y Objetos: Conceptos Básicos

Objetivos de aprendizaje

  • (^) Comprender el concepto de objeto.
  • (^) Apreciar la utilidad de las clases como mecanismos de abstracción de objetos.
  • (^) Conocer la estructura interna de una clase: atributos y métodos.
  • (^) Diferenciar correctamente entre estado e identidad de un objeto.
  • (^) Comprender la diferencia entre un valor primitivo y un objeto.
  • (^) Entender la diferencia entre los atributos/métodos de clase y los atributos/métodos de instancia.
  • (^) Conocer los elementos de agrupación: paquetes y módulos
  • (^) Diferenciar el uso de los métodos y variables según sus especificadores de acceso.
  • (^) Conocer las pseudovariables.

Lección 2.1: Clases y Objetos: Conceptos Básicos

Contenidos

1.Concepto de objeto.

  1. Estado e identidad de objetos.
  2. Concepto de clase.
  3. Atributos: tipos y ámbito.
  4. Métodos: tipos y ámbito.
  5. Ciclo de vida de un objeto.
  6. Constructores.
  7. Destructores.
  8. Consultores y modificadores.
  9. Elementos de agrupación.
  10. Especificadores de acceso.
  11. Comparación de objetos: identidad y estado.
  12. Agregaciones de objetos.
  13. Colecciones.
  14. Pseudovariables.
  15. Envío de mensajes entre objetos.
  16. Excepciones.

Lección 2.1: Clases y Objetos: Conceptos Básicos

1. Concepto de objeto

  • (^) Entidad perfectamente delimitada, que encapsula

estado y funcionamiento y posee una identidad

( OMG 2001 ).

  • (^) Elemento, unidad o entidad individual e identificable,

real o abstracta, con un papel bien definido en el

dominio del problema ( Dictionary of Object

Technology 1995 ).

Lección 2.1: Clases y Objetos: Conceptos Básicos

  • (^) El estado del objeto lo determinan características

observables o que pueden ser consultadas.

1. Concepto de objeto

Dos objetos diferentes pueden tener el mismo

estado.

El estado de un objeto puede variar a lo largo del

tiempo.

Lección 2.1: Clases y Objetos: Conceptos Básicos

Estado ≠ Identidad

Estado ≠ Identidad

leon

leon

“ab”

“200 Kg” (^) “200 Kg” leon Identidad leon1 es idéntico a leon2 (cierto) leon1 es idéntico a leon3 (falso) Estado leon1 es igual a leon2 (cierto) leon1 es igual a leon3 (cierto) leon2 es distinto de leon3 (falso)

2. Estado e identidad de objetos

Lección 2.1: Clases y Objetos: Conceptos Básicos

4. Atributos

Un atributo es una característica que se representa

mediante un valor almacenado en una variable.

Existen dos tipos de atributos:

Atributo de instancia : Representa una característica

de un objeto particular.

Atributo de clase : Representa una característica

compartida por un conjunto de objetos y la propia

clase.

El estado de un objeto es definido por el conjunto de

sus atributos de instancia.

Lección 2.1: Clases y Objetos: Conceptos Básicos

4. Atributos en Java

  • (^) Atributo de instancia : Cada objeto tiene su propia

copia de cada atributo de instancia. De ese modo,

objetos diferentes pueden dar valores diferentes a un

mismo atributo.

  • (^) Atributo de clase : El atributo se almacena en la

propia clase. De este modo, su valor es el mismo para

todas las instancias de dicha clase.

public class Bicicleta { // Se definen a continuación dos atributos de instancia. private int marchas; private int color; ... public class Bicicleta { //Se define a continuación un atributo de clase. private static int numeroDeBicicletas;

Lección 2.1: Clases y Objetos: Conceptos Básicos

4. Atributos en Ruby

  • (^) En Ruby, como las clases son objetos, existen también atributos de instancia de la clase.
  • (^) Atributo de instancia de la clase : El atributo define una característica de la clase (no de sus objetos), a la que solo la clase tiene acceso. class Bicicleta # Se define a continuación un atributo de instancia de la clase. # Los atributos de instancia de la clase se definen con @ en cualquier lugar fuera de los # métodos de instancia. @ manual_ciclismo ...

Lección 2.1: Clases y Objetos: Conceptos Básicos

  • Un método es un trozo de código que define un comportamiento.
  • Existen tres tipos de métodos:
    • Método de instancia : Dicho comportamiento es realizado por un objeto de la clase.
    • Método de clase : El comportamiento es ejecutado por la clase y no requiere que exista ninguna instancia.
    • Método de instancia de la clase : Dicho comportamiento es realizado por el objeto clase. 17

5. Métodos

// Método de instancia en Java public int getColor() { return color; } // Método de clase en Java public static int getNumeroDeBicicletas() { return numeroDeBicicletas; }

Método de instancia en Ruby

def numero_serie @numero_serie end

Método de instancia de la clase en Ruby

def self. set_manual_ciclismo(manual) @manual_ciclismo = manual end

Método de clase en Ruby

No tiene

Método de instancia de la clase en Java

No tiene ¿por qué?

Lección 2.1: Clases y Objetos: Conceptos Básicos

5. Ámbito de atributos y métodos

public class Bicicleta { private int marchas; private int color; private int numeroSerie; private static int numeroDeBicicletas = 0; public Bicicleta(int numeroMarchas, int unColor){ marchas = numeroMarchas; color = unColor; numeroSerie = Bicicleta.getNumeroDeBicicletas(); Bicicleta.incrementarNumeroDeBicicletas(); } public int getColor() { return color; } public int getNumeroSerie() { return numeroSerie; } public static int getNumeroDeBicicletas() { return numeroDeBicicletas; } public static void incrementarNumeroDeBicicletas(){ numeroDeBicicletas++; } ... }

Un ejemplo:

Variable de clase Métodos de clase Métodos de instancia Variables de instancia

Lección 2.1: Clases y Objetos: Conceptos Básicos

5. Ámbito de atributos y métodos

class Bicicleta @@numero_de_bicicletas = 0 @manual_ciclismo def initialize(numero_marchas, un_color) @marchas = numero_marchas @color = un_color @numero_serie = @@numero_de_bicicletas Bicicleta.incrementar_numero_de_bicicletas end def color @color end def numero_serie @numero_serie end def self.numero_de_bicicletas @@numero_de_bicicletas end def self.incrementar_numero_de_bicicletas @@numero_de_bicicletas = @@numero_de_bicicletas+ end def self. set_manual_ciclismo(manual) @manual_ciclismo = manual end end Probar código de ejemplo de Bicicleta en Ruby y Java Variables de instancia Variable de clase Variable de instancia de la clase Métodos de instancia Métodos de instancia de la clase