Modulo 11. Clases y Objetos en Java

El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, “Introduction to Programming 1”, no pretende en ningún mome

4 downloads 132 Views 274KB Size

Recommend Stories


SOLUCIONES CLASES JAVA
SOLUCIONES CLASES JAVA 55- Teniendo en cuenta las diferencias entre un lenguaje y otro, se pide adaptar el programa creado en C# del ejercicio 50 al

Tema: Clases y Objetos en C++. Parte II
Programación II. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Parte II. Objetivos

Java y Java++
{POO}. Clases. Objetos. Herencia. Multihilo. Multithread

Tema 11: Programación orientada a objetos
Tema 11: Programación orientada a objetos Índice 1 La Programación Orientada a Objetos...............................................................

Clases y Objetos en Python. Introducción a la Computación Clase 23 Patricia Borensztejn
Clases y Objetos en Python Introducción a la Computación Clase 23 Patricia Borensztejn Tipos en Python • Ya vimos que tenemos un conjunto importante

Java
{POO}. Clases. Objetos. Herencia. Multihilo. Multithread. Applet. {JDK}

Java
{POO}. Clases. Objetos. Herencia. Multihilo. Multithread. {JDK}. Applet. Excepciones

Story Transcript

El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, “Introduction to Programming 1”, no pretende en ningún momento reemplazar los contenidos generados por este grupo. Por ser una traducción puede traer consigo errores de interpretación. También se han realizado algunos cambios para el contexto del curso. Se realizarían las acciones necesarias si el grupo JEDI o un representante del mismo exigieran la no utilización de este material.

Modulo 11. Clases y Objetos en Java Clases y Objetos En el mundo del software, un objeto es un componente de software con estructura similar a los objetos del mundo real. Cada objeto está compuesto por un juego de datos (propiedades y/o atributos) que son las variables que describen las características esenciales del objeto, también consiste en un juego de métodos (comportamientos) que describen como el objeto se comporta. La clase es la estructura fundamental en la programación orientada a objetos. Esta se puede tomar como una plantilla, un prototipo o un anteproyecto de los objetos. Esta consiste en dos tipos de miembros que son llamados campos (propiedades o atributos) y métodos. Los campos especifican el tipo de datos definidos por la clase, mientras que los métodos especifican las operaciones. Un objeto es una instancia de una clase. Las clases proporcionan la propiedad de la reusabilidad, los programas de software pueden usar una clase una y otra vez para crear muchos objetos. Variables de instancia Cuando se crea una instancia de un objeto se obtiene un juego nuevo de variables, sin embargo, la implementación de los métodos es compartida entre los objetos de la misma clase. Variables estáticas Adicional a las variables de instancia, es posible definir variables de la clase, siendo estas variables pertenecientes a la clase. Estas variables almacenan el mismo valor para todos los objetos de la misma clase, incluso aún cuando no existe ninguna instancia de la clase. Estas variables son conocidas como Variables Estáticas.

CLASES Instancia de una clase Para crear un objeto o una instancia de una clase, utilizamos el operador new, ejemplo, se escribe el siguiente código si se desea crear una instancia de la clase String. Ó

El operador new localiza memoria para el objeto y retorna una referencia a la posición de memoria. Cuando se crea un objeto, se esta invocando al constructor. El constructor es el método encargado de construir todas las instancias de la misma clase.

Declaración de una clase en Java. La declaración de una clase en java no es diferente a escribir en sintaxis Java una clase de la programación orientada a objetos, por esto es primordial comprender los conceptos de clase, objeto, herencia, interfaz, encapsulación, variables (estados) de los objetos, comportamiento de los objetos. Recordemos que una clase es el modelo de determinado tipos de objetos, es la definición del objeto en si.

Una clase en java se declara de la siguiente forma: ModificadorAcceso class NombreClase { // Variable, campos o estados; // Constructor; y // Funciones, métodos o mensajes }

Modificador de acceso se estudiara más adelante. En detalle la sintaxis se refiere a:

class es la palabra reservada del lenguaje que se usa para especificar que se esta declarando una clase. Variables, campos o estados son exactamente eso, variables de clase, estados de los objetos de este tipo de clase, recordemos el concepto de encapsulación. Funciones, métodos o mensajes, son las declaraciones a las funciones o mensajes para legrar la comunicación con los objetos de este tipo o clase. Constructor, es un método que se ejecuta cuando se “instancia” o se crea un nuevo objeto de esta clase. Ahora bien, en la programación orientada a objetos se estudiaron también conceptos como la herencia o las interfaces. Así que: Declaración de una clase en Java que hereda otra clase. ModificadorAcceso class NombreClaseHija extends ClasePadre { // campos o estados; // Constructor; y // Funciones, métodos o mensajes }

La clase hija contiene todos los métodos y variables de la ClasePadre, en java no existe la herencia múltiple, ósea, una clase no puede heredar más de una ClasePadre, por lo menos no directamente. Otro concepto estudiado es el concepto de interfaz, así que:

Declaración de una clase en Java que implemente una interfaz. ModificadorAcceso class NombreClaseImplementación implements ClaseInterfaz1, ClaseInterfaz2 { // campos o estados; // Constructor; y // Funciones, métodos o mensajes }

Esta clase implementa dos interfaces, la lista de interfaces que implementa esta separada por el carácter coma (,). Nota: El nombre de la clase NombreClaseImplementación no contiene espacios, la primera letra de cada palabra esta en mayúscula.

Modificador de acceso de una clase. Es la forma de determinar como otras clases pueden acceder a la clase, los modificadores de acceso de una clase son

private: Se permite acceder a la clase solo desde clases que se encuentren ubicadas dentro del mismo paquete. public: Con este se permite que se acceda a la clase desde cualquier otra clase, no importando su ubicación.

Tipos de variables en una clase. En una clase existen 3 tipos de variables: a. Variables miembros de la clase – campos. En la programación orientada a objetos estas variables son los campos o estados de la clase. Se construyen mediante 3 componentes: Uno o más modificadores de acceso. Dentro de los más utilizados están: private: Solo es posible acceder al campo dentro de la clase. public: Es posible acceder al campo desde cualquier otra clase. Importante, estos modificadores actúan diferente que los modificadores de la clase. El tipo de dato, recordemos que Java tienen tipos de datos primitivos como int, short, double, boolean, char. El tipo de dato puede ser también un tipo de Clase en particular, para lo cual la variable sería un objeto de dicha clase. El nombre de la variable, debe cumplir las reglas de creación de variables estudiadas en el modulo 5. Ejemplo: ModificadorAcceso class NombreClase { private static int campoEntero; // Constructor; y // Funciones, métodos o mensajes }

b. Variables en bloques de código, incluyendo el bloque de código de los métodos. Se conocen con el nombre de variables locales, se encuentran dentro de un bloque de código o dentro del cuerpo de un método. La variable solo existe en el ámbito sobre el cual fue creada, es decir, dentro del bloque que fue creada. La forma de declarar estas variables es: El tipo de dato

El nombre de la variable Ejemplo: ModificadorAcceso class NombreClase { private static int campoEntero; // Constructor; y public void unMetodo() { char variableLocal; } // Funciones, métodos o mensajes }

c. Variables en la declaración de un método – parámetros de un método. Las variables utilizadas en la declaración de un método son los llamados parámetros del método, su construcción esta dada por: El tipo de dato El nombre de la variable

La lista de parámetros a pasar en un método esta separada por el carácter coma (,). Ejemplo: ModificadorAcceso class NombreClase { private static int campoEntero; // Constructor; y public void unMetodo() { char variableLocal; } public void otroMetodo(int primerP, char segundoP) { // Cuerpo del método, primerP y segundoP solo existen en este ámbito } // Funciones, métodos o mensajes }

Metodos de Instancia Para realizar la llamada de un método de un objeto instacia de una clase seguimos la siguiente notación: miObjetoInstacia.miNombreMetodo( parámetros ) Métodos estaticos Cuando realizamos la llamada a un método estatico se esta realizando una llamada al método en la clase y no es necesario tener una instancia de la clase. Se diferencian de los demás métodos en la clase al momento de escribirlos por que tienen la palabra reservada static. MiClase.metodoEstatico( parámetros )

2. Declaración de un método.

ModificadorAcceso void otroMetodo(int primerP, char segundoP) { // Cuerpo del método, primerP y segundoP solo existen en este ámbito }

2.1. Componentes de un método: Modificador de Acceso, es desde donde se puede acceder al método, public: Se puede acceder al método desde cualquier clase. private: Solo se puede acceder al método desde otros métodos de la misma clase. Tipo de datos a retornar, la palabra reservada void significa que no se retornara ningún dato, recordemos que Java tiene tipos de datos primitivos y que nosotros podemos crear nuestras propias clases, así que un método puede un tipo de dato de una Clase en particular. Nombre del método, existen actualmente convenciones para la construcción del nombre de los métodos. Lista de parámetros, esta lista debe ir dentro de paréntesis y debe estar separada por comas, recordemos un poco más atrás que decía “Variables en la declaración de un método) Lista de Excepciones, este tema se tratará en un modulo más adelante. El cuerpo del método o bloque de código del método, debe estar entre corchetes.

2.2. Convenciones en el nombre de un método Existen algunas reglas básicas para el nombre de un método, no significa que Java restrinja si se utiliza un nombre o el otro, solo que por orden y estándar se siguen los siguientes enunciados. El nombre debe ser un verbo, ejemplo: correr, obtener, traer, llevar, partir, etc.

Se debe escribir en minúscula y si es compuesto de varias palabras se debe iniciar la siguiente palabra con mayúscula. Si el nombre es compuesto por varias palabras, la primera palabra es un verbo y la segunda un adjetivo. Entre otras.

2.3. Sobrecarga de Métodos. La firma de un método esta compuesta por su nombre y lista de parámetros que recibe, en Java los métodos se pueden sobrecargar, es decir, pueden existir métodos con el mismo nombre, lo importante es que su firma sea diferente. Si el nombre es el mismo la firma es diferente solo cuando su lista de parámetros es diferente. Para que la lista de parámetros sea diferente se debe tener en cuenta cantidad y tipo de datos usados en la lista. La sobrecarga se utiliza mucho cuando se quiere tener solo un método y reciba parámetros diferentes. El tipo de datos a retornar no se encuentra dentro de la firma, por lo tanto un método no difiere de otro por esta característica.

Paso de variables a los métodos Pasar variables a los métodos no es más que pasar parámetros al metdo al momento de realizar su llamado, Java distingue entre dos tipos de variables a pasar en los métodos, la primera es paso por valor, la segunda es paso por referencia Paso de variables por valor Cuando un paso por valor se presenta, el método crea una copia exacta del valor de la variable que fue pasada al método. De esta manera el método no puede modificar el argumento original durante los cálculos o lógica en el cuerpo del método. Ejemplo:

Por defecto todos los datos de tipo primitivo (int, char, long, etc) se pasan por valor. Paso de variables por referencia Cuando el paso por referencia ocurre, la refencia de la variable es pasada en el método. Esto hace que el método cree una copia de la refencia de la variable pasada al método. Sin embargo, como no es por valor, el método puede modificar el objeto al que la referencia esta apuntando, Aunque diferentes refencias existen en los métodos, la localización de los datos en memoria es la misma .

REFERENCIAS JEDI, “Introduction to Programming 1”

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.