PDF de programación - Programación Orientada a Objetos - Tema 2: Elementos Básicos de la Orientación a Objetos

Imágen de pdf Programación Orientada a Objetos - Tema 2: Elementos Básicos de la Orientación a Objetos

Programación Orientada a Objetos - Tema 2: Elementos Básicos de la Orientación a Objetosgráfica de visualizaciones

Publicado el 4 de Julio del 2017
592 visualizaciones desde el 4 de Julio del 2017
1,2 MB
57 paginas
Programación Orientada a Objetos
Programación Orientada a Objetos

Tema 2: Elementos Básicos de la
Tema 2: Elementos Básicos de la

Orientación a Objetos
Orientación a Objetos

Eduardo Mosqueira Rey
Eduardo Mosqueira Rey

LIDIA
LIDIA
Laboratorio de Investigación y
Laboratorio de Investigación y
desarrollo en Inteligencia Artificial
desarrollo en Inteligencia Artificial

Departamento de Computación
Departamento de Computación
Universidade da Coruña, España
Universidade da Coruña, España

Objetivos
Objetivos

• Conocer los elementos fundamentales que forman la
• Conocer los elementos fundamentales que forman la

base de todo lenguaje orientado a objetos.
base de todo lenguaje orientado a objetos.

• Conocer las características de implementación de
• Conocer las características de implementación de

clases y objetos en los lenguajes de programación:
clases y objetos en los lenguajes de programación:
gestión de memoria, mecanismos de visibilidad, etc.
gestión de memoria, mecanismos de visibilidad, etc.
gestión de memoria, mecanismos de visibilidad, etc.
gestión de memoria, mecanismos de visibilidad, etc.
• Aprender a crear definiciones de clases e instanciar
• Aprender a crear definiciones de clases e instanciar
objetos en un lenguaje de programación orientado a
objetos en un lenguaje de programación orientado a
objetos como Java.
objetos como Java.

• Conocer el concepto de metaclase y aprender a como
• Conocer el concepto de metaclase y aprender a como

usar las metaclases como mecanismo de reflexión.
usar las metaclases como mecanismo de reflexión.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

2

Índice
Índice

1. Clases
1. Clases
2. Objetos
2. Objetos

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

3

Índice
Índice

1. Clases
1. Clases

– Definición
– Definición
– Declaración
– Declaración
– Ejemplo
– Ejemplo
– Ejemplo
– Ejemplo

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

4

Clases
Clases
Definición
Definición

• Programa orientado a objetos
• Programa orientado a objetos

– Se compone de objetos que se comunican entre si intercambiando
– Se compone de objetos que se comunican entre si intercambiando

mensajes
mensajes

• Relación clases - objetos
• Relación clases - objetos

– Similar a la existente entre tipos y variables (una clase es la
– Similar a la existente entre tipos y variables (una clase es la

declaración de un tipo objeto)
declaración de un tipo objeto)
declaración de un tipo objeto)
declaración de un tipo objeto)

– Las clases se utilizan como plantillas que describen como se
– Las clases se utilizan como plantillas que describen como se

construyen ciertos tipos de objetos.
construyen ciertos tipos de objetos.

– Cada vez que se construye un objeto a partir de una clase decimos que
– Cada vez que se construye un objeto a partir de una clase decimos que
estamos ejemplificando (o instanciando) dicha clase (un objeto es una
estamos ejemplificando (o instanciando) dicha clase (un objeto es una
ejemplificación de una clase)
ejemplificación de una clase)

• Definición de clase abarca:
• Definición de clase abarca:

– Definición estructural: en donde se define el estado y el
– Definición estructural: en donde se define el estado y el

comportamiento que tendrán los objetos de esa clase
comportamiento que tendrán los objetos de esa clase

– Propósito de creación de nuevos objetos: en donde define los
– Propósito de creación de nuevos objetos: en donde define los

procedimientos para construir nuevos objetos de esa clase.
procedimientos para construir nuevos objetos de esa clase.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

5

Clases
Clases

Declaración
Declaración

• Declaración
• Declaración
[Modificadores] class Nombre [extends clase][implements interfaz, ...]
[Modificadores] class Nombre [extends clase][implements interfaz, ...]
{ // Lista de atributos // Lista de métodos }
{ // Lista de atributos // Lista de métodos }

• Modificadores de clase
• Modificadores de clase

– public: permite que la clase sea accesible desde otro paquete
– public: permite que la clase sea accesible desde otro paquete
– abstract: Define clases que no pueden instanciarse
– abstract: Define clases que no pueden instanciarse
– abstract: Define clases que no pueden instanciarse
– abstract: Define clases que no pueden instanciarse
– final: Define clases que no pueden extenderse con subclases
– final: Define clases que no pueden extenderse con subclases

• Nota: si no se pone ninguno de los modificadores quiere decir que
• Nota: si no se pone ninguno de los modificadores quiere decir que

la clase es no-public, no-abstract y no-final. No existen
la clase es no-public, no-abstract y no-final. No existen
modificadores por defecto
modificadores por defecto

• Cláusula extends
• Cláusula extends

– Define la superclase de la clase definida (por defecto Object)
– Define la superclase de la clase definida (por defecto Object)

• Cláusula implements
• Cláusula implements

– Define los interfaces que implementa la clase
– Define los interfaces que implementa la clase

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

6

Clases
Clases
Ejemplo
Ejemplo



• Definición de clase
• Definición de clase

public class Caja
{
// atributos
private int value;


// Métodos
public Caja ()
{value = 0;}

public void setValue (int v)
{ value = v; }

public int getValue ()
{ return value; }
}

• Instanciación de la clase
• Instanciación de la clase



...

Caja x = new Caja();
x.setValue (7);

...

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

7

Índice
Índice

2. Objetos
2. Objetos




Identidad
Identidad
• Gestión de la memoria
• Gestión de la memoria
• Comparación de objetos
• Comparación de objetos

– Estado
– Estado

• Especificadores de acceso
• Especificadores de acceso
• Modificadores
• Modificadores



Tiempo de vida, inicialización y ámbito
Tiempo de vida, inicialización y ámbito

– Comportamiento
– Comportamiento

Tipos de retorno y parámetros
Tipos de retorno y parámetros

• Definición de métodos
• Definición de métodos


• Métodos constructores
• Métodos constructores


• Destrucción de objetos
• Destrucción de objetos
• Recolección de basura
• Recolección de basura
• Métodos especiales
• Métodos especiales

Tipos enumerados
Tipos enumerados

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

8

Objetos
Objetos

• Objeto: elemento identificable que contiene
• Objeto: elemento identificable que contiene

– Características declarativas
– Características declarativas

• Utilizadas para determinar el estado del objeto.
• Utilizadas para determinar el estado del objeto.

– Características procedimentales
– Características procedimentales

• Utilizadas para modelar el comportamiento del objeto.
• Utilizadas para modelar el comportamiento del objeto.

– Características estructurales
– Características estructurales

• Utilizadas para organizar los objetos con respecto a otros
• Utilizadas para organizar los objetos con respecto a otros

objetos de su entorno.
objetos de su entorno.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

9

Objetos
Objetos
Identidad
Identidad

• Identidad
• Identidad

– Propiedad de un objeto que lo distingue de todos los
– Propiedad de un objeto que lo distingue de todos los

demás.
demás.

– Esta unicidad se consigue a través de unos
– Esta unicidad se consigue a través de unos
– Esta unicidad se consigue a través de unos
– Esta unicidad se consigue a través de unos

identificadores de objetos (OID – object identifiers)
identificadores de objetos (OID – object identifiers)
identificadores de objetos (OID – object identifiers)
identificadores de objetos (OID – object identifiers)
– Los OIDs son independientes de los atributos que
– Los OIDs son independientes de los atributos que
definen el estado del objeto y que normalmente se
definen el estado del objeto y que normalmente se
implementan a través de punteros
implementan a través de punteros

– Generalmente los identificadores de objetos son
– Generalmente los identificadores de objetos son

generados por el sistema y no pueden ser
generados por el sistema y no pueden ser
modificados por el usuario.
modificados por el usuario.

© Eduardo Mosqueira Rey Departamento de Computación Universidade da Coruña

10

Objetos
Objetos
Identidad
Identidad

• Gestión de la memoria
• Gestión de la memoria

– Pila (Stack)
– Pila (Stack)

• Estructura en la cual solo se pueden incorporar o eliminar
• Estructura en la cual solo se pueden incorporar o eliminar

elementos por un solo punto denominado cima.
elementos por un solo punto denominado cima.

• Se utiliza para las llamadas a funciones, cuando se llama a una
• Se utiliza para las llamadas a funciones, cuando se llama a una

función se reserva espacio en la pila para los valores locales y los
función se reserva espacio en la pila para los valores locales y los
parámetros de dicha función.
parámetros de dicha función.
parámetros de dicha función.
parámetros de dicha función.

– Montículo (Heap)
– Montículo (Heap)

• Parte de la memoria que no está ligada a la llamada de funciones y
• Parte de la memoria que no está ligada a la llamada de funciones y
en el cual la memoria se asigna cuando se solicita expresamente (a
en el cual la memoria se asigna cuando se solicita expresamente (a
través del operador new en Java)
través del operador new en Java)

– En OO
– En OO

• Para una mayor eficiencia la pila almacena tipos básicos cuyo
• Para una mayor eficiencia la pila almacena tipos básicos cuyo

tamaño
  • Links de descarga
http://lwp-l.com/pdf4831

Comentarios de: Programación Orientada a Objetos - Tema 2: Elementos Básicos de la Orientación a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad