Tema 6: Clases. Índice

Documentos relacionados
Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Clases y Objetos en C++

Principios de Computadoras II

Guía práctica de estudio 04: Clases y objetos

Programación Orientada a Objetos en C++

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Tema 2: Programación basada en Objetos

Tema: Clases y Objetos en C#. Parte II.

Algoritmo, Estructuras y Programación II Ing. Marglorie Colina

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Manual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz

Curso de Java Introducción a la Programación II

Tipos Recursivos de Datos

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

2.2 Nombres, Ligado y Ámbito

Programación Orientada a Objetos con Java

ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo

NETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS

Java Avanzado Facultad de Ingeniería. Escuela de computación.

TEMA 8: Gestión dinámica de memoria

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

12. Tipos de atributos

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Tema: Punteros.Puntero this en C#.

Programación Orientada a Objetos

Arquitecturas cliente/servidor

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Las clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos)

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

FUNDAMENTOS DE INFORMÁTICA

Funciones Definición de función

UNIDAD 3 Modularidad

Elementos de un programa en C

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Algoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos

Programación orientada a Objetos (POO) La POO está compuesta por una serie de elementos que se detallan a continuación.

Programación Orientada a Objetos (POO)

Ejercicio del Mecánico

Operadores y Expresiones

Tema 6: Memoria dinámica

18. Interfaces Declaración de una interfaz

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

Clase 3: Repaso POO. DSIW1:Ing. Tomás Eduardo Urbina 1

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Introducción a la Programación en C Funciones

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

POO. Por tanto, una clase nos permite crear varios objetos que pueden realizar la misma función o funciones diferentes.

Comunicación entre objetos

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Edwin Andrés Cubillos Vega

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara.

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )

Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B)

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

PARADIGMA DE POO - CLASES

Práctica 4 Concurrencia en Java

JavaScript: Introducción

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática

Unidad II: Análisis semántico

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

Punteros y Memoria Dinámica II

Oracle Certified Associate, Java SE 8 Programmer

PROCEDIMIENTOS ALMACENADOS

Memoria en C++ Punteros - Referencias Clases Y ahora, a trabajar! Memoria Dinámica en C++

FUNCIONES JAVASCRIPT. CONCEPTO. PARÁMETROS O ARGUMENTOS Y TIPOS. PASO POR VALOR. RETURN. EJEMPLOS. (CU01122E)

Programación orientada a objetos

Introducción a OOP. Programación Orientada a Objeto

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.

Programación Concurrente y Distribuida Ingeniería Informática Facultad de Ciencias Universidad de Cantabria.

PROGRAMACIÓN ORIENTADA A OBJETOS

Tema: Funciones Virtuales y Polimorfismo.

Transcripción:

Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado UML de la clase y de los objetos. 9. Diagrama de clases UML. 1

Fundamentos (I) La clase es el núcleo de Java. La clase constituye la base de la programación orientada a objetos en Java. Cualquier concepto que desee implementar en un programa Java debe ser encapsulado en una clase. Las clases creadas hasta ahora se utilizaban para encapsular al método, lo que nos ha permitido mostrar las bases de la sintaxis de Java. Fundamentos (II) Define la forma y la naturaleza de un objeto. Representa un nuevo tipo de dato. Una vez definido, este nuevo tipo se puede utilizar para crear objetos de ese tipo. Una clase es un template (modelo) para un objeto y un objeto es una instancia de una clase. Debido a que un objeto es una instancia de una clase, a menudo se utilizan las palabras objeto e instancia de manera indistinta. 2

Definición La definición de una clase incluye su forma y naturaleza. Esto se realiza especificando los datos de la clase y el código que opera sobre ellos. El código de una clase define la interfaz a sus datos. Una clase se declara utilizando la palabra clave. Forma general de la definición tipo tipo tipo tipo 3

Variables de instancia y métodos Los datos o variables definidos en una clase se llaman. El código está contenido en los. En conjunto, los métodos y variables definidos dentro de una clase son los de la clase. Las variables de instancia suelen estar modificadas por los métodos definidos en esa clase. Por lo que se puede decir que los métodos son los que determinan cómo se puede utilizar los datos de una clase. Los objetos Para obtener objetos de una clase es necesario realizar dos pasos: 1. Declarar una variable del tipo de la clase. Esta variable no define un objeto, sino que es simplemente una variable que puede referirse a un objeto. 2. Obtener una copia física y real del objeto y asignarla a esa variable. Esto se puede hacer utilizando el operador. 4

new El operador permite una asignación dinámica en tiempo de ejecución, reserva memoria para un objeto y devuelve una referencia al mismo. esta referencia se puede almacena en la variable. todos los objetos en Java deben ser asignados dinámicamente. Si no es capaz de reservar memoria se produce una excepción. Sintaxis para el operador new es una variable de la clase que se quiere crear. es el nombre de la clase que está siendo instanciada. El nombre de la clase seguido por los paréntesis especifica el. 5

Constructor Un constructor define qué ocurre cuando se crea un objeto de una clase. Si no se ha especificado explícitamente el constructor, entonces Java automáticamente utiliza un constructor por defecto. Se pueden definir explícitamente los constructores dentro de la definición de la clase. Los tipos de datos simples no necesitan constructor ya que no son objetos. Ejemplo 6

Ejemplo (detalle Primer paso) Los dos pasos anteriormente descritos se pueden escribir de la siguiente manera: Declara una referencia a un objeto del tipo Mesa. Cuando se ejecuta esta línea, mimesa contiene el valor, que indica que todavía no referencia a un objeto. Cualquier intento de utilización de en esta situación provocará un error. Ejemplo (detalle Segundo paso)! #"$ %"$! La segunda línea reserva memoria para un objeto real y asigna a una referencia a dicho objeto. cuando se ejecuta la segunda línea se puede utilizar como si fuese un objeto del tipo. En realidad, simplemente guarda la dirección de memoria del objeto real. 7

Ejemplo de declaración e instanciación de un objeto Asignación de objetos a variables referencia No se asigna una copia del objeto. y se refieren al mismo objeto. Lo desengancha 8

Ciclo de vida de un objeto & & & & La sentencia ')(%* + -,/.0 tiene tres acciones: 1. Declaración: el compilador puede usar la variable ')( referirse a un objeto. para La declaración no crea un objeto. La declaración se realiza con tipo nombre; 2. Instanciación: El operador crea un nuevo objeto y lo pone en memoria. 3. Inicialización: -,/. es una llamada al constructor, que inicializa al objeto.. Par hacer referencia a variables o métodos del objeto mediante el punto (.).. Los objetos no usados. Métodos Sintaxis general de un método: especifica el tipo devuelto por el método. Si no devuelve ningún tipo,. El valor devuelto: 9

Ejemplo Devolución de un valor El tipo de dato devuelto por un método debe ser compatible con el tipo especificado por el método. Si un método devuelve un, no se puede devolver un entero. La variable que recibe el valor devuelto por el método debe ser compatible también con el tipo especificado por el método. 10

Ejemplo Métodos con parámetros Un es una variable definida por un método y que recibe un valor cuando se llama a ese método. Un es un valor que se pasa a un método cuando éste es invocado. 11

Constructores Un constructor inicializa un objeto inmediatamente después de su creación. Tiene exactamente el mismo nombre que la clase en la que reside y sintácticamente es similar a un método. Una vez definido, se llama automáticamente al constructor después de crear el objeto, antes de que termine el operador. No devuelven ningún tipo. 12

13

this Permite hacer referencia al objeto que lo invocó. Puede ser utilizada dentro de cualquier método para referirse al objeto actual. siempre es una referencia al objeto sobre el que ha sido llamado el método. 14

Recogida de basura Cuando no hay ninguna referencia a un objeto determinado, se asume que ese objeto no se va a utilizar más, y la memoria ocupada por el objeto se libera. No hay necesidad explícita de destruir los objetos, como sucede en C++. La recogida de basura ocurre de forma esporádica durante la ejecución de un programa y no se produce simplemente porque uno o más objetos hayan dejado de utilizarse. Las diferentes implementaciones de los intérpretes de Java siguen un procedimiento diferente cuando realizan la recogida de basura. El método Objetos que ya no se van a seguir usando, llamada a. Última oportunidad para hacer algo con el objeto. Formato 15

Ejecución del recolector de basura Se puede pedir la ejecución del recolector de basura en cualquier momento: 16