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

Documentos relacionados
Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

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

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

PROGRAMACION ORIENTADA A OBJETOS EN C++

Programación Orientada a Objetos (POO)

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

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Derechos de Acceso: COMPOSICION

Modulo 11. Clases y Objetos en Java

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

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

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

Tema: Entorno a C# y Estructuras Secuenciales.

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

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Principios de Computadoras II

Universidad Salesiana de Bolivia

Tema 9: Paquetes. Índice

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

FUNDAMENTOS DE INFORMÁTICA

La Herencia: Teoría (1)

ESCUELA DE INFORMÁTICA

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

Herencia. Hay clases que comparten gran parte de sus características.

Destrucción de objetos (I)

Tema 3. Programación orientada a objetos en Java (Parte 1)

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA INDUSTRIAL

Aplicaciones de Escritorio

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Forma Básica Clase Java

Guía práctica de estudio 05: Diagramas de flujo

b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su

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

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

Diseño Estructurado de Algoritmos

Programación Estructurada

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

La sintaxis básica para definir una clase es la que a continuación se muestra:

Programación Estructurada

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

PROGRAMACION EN INTERNET

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)

Programación I. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005

Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico

Programación I Unidad III. Tema: Tipos, estructuras y uniones

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

Programación orientada a objetos

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

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

Elabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:

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

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Tema 4. Excepciones en Java

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

PASOS PARA CREAR FUNCIONES CON VBA

Tema: Punteros a Objetos. Puntero this.

Programa Educativo: Área de Formación : Carácter de la asignatura

Informática I para Bachillerato

Lenguaje de Programación

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Elementos de un programa en C

Tema 2 Introducción a la Programación en C.

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

Tema: Excel Formulas, Funciones y Macros

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Relación entre clases. Ejemplo de Clase: Punto !

Métodos, clases, y objetos

Diseño Basado en Componentes. Curso 2008 / 09

Todas las guías de laboratorio están estructuradas de la siguiente forma:

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

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

Tema: Herramientas UML, Análisis y diseño UML

Guía práctica de estudio 11: Funciones

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Tema: Herramientas UML, Análisis y diseño UML

Construyendo Programas más Complejos

Manual de turbo pascal

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

Tema: Introducción al IDE de Microsoft Visual C#.

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Programación en java. Estructuras algorítmicas

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Polimorfismo. Métodos virtuales

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

PROGRAMACIÓN DE COMPUTADORES II SEMANA 2 ESTE DOCUMENTO CONTIENE LA SEMANA 2

ACTIVIDAD: Control de Lectura # 1: Benchmarking para Competir con Ventaja Por: Roberto J. Boxwell. MATERIA: Ingeniería de Software.

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

Transcripción:

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

Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas de laboratorios, haciendo uso de este antes, durante y después de la práctica, de tal forma que ofrece un método facilitador en su proceso de enseñanza/aprendizaje durante esta asignatura. En el desarrollo de esta asignatura se ha designado realizar las prácticas en 16 sesiones semanales de laboratorios, los que incluyen 11 prácticas, dos parciales y un proyecto final durante los cuales, el estudiante aplicará los conceptos y las técnicas fundamentalmente necesarias para el desarrollo de aplicaciones y soluciones utilizando Java como lenguaje de programación. Todas las guías de laboratorio están estructuradas de la siguiente forma: - Objetivos - Materiales y equipos - Introducción teórica - Procedimiento - Bibliografía - Hoja de evaluación( En caso de que la actividad sea evaluada ) La asignatura Java avanzado,está dividida en ocho unidades durante el ciclo.

4 Java Avanzado, Guía 5 Facultad: Ingeniería. Escuela: Computación. Asignatura: Java Avanzado Pág Guía 5. Orientación a Objetos. Tabla de Contenido Contenido ---------------------------------------------------------------------------------------- 5 Objetivos ----------------------------------------------------------------------------------------- 5 Materiales y equipos --------------------------------------------------------------------------- 5 Introducción teórica --------------------------------------------------------------------------- 5 Procedimiento ----------------------------------------------------------------------------------- 9 Investigación ------------------------------------------------------------------------------------ 14 Bibliografía --------------------------------------------------------------------------------------- 14

Java Avanzado. Guía 5 5 Tema: Orientación a Objetos. Contenidos En esta guía se introducirá al desarrollo de aplicaciones básicas en Java donde se utilice clases definidas por el usuario. Así mismo se usaran los conceptos de herencia, polimorfismo, enlace dinámico y funciones final. Objetivo Específico a) Aprender crear clases y declarar objetos definidas por el usuario. b) Definir métodos y atributos miembros de clases. c) Definir funciones constructoras de una clase. d) Aprender a utilizar el concepto de herencia entre clases en Java. e) Comprender el funcionamiento y ventajas del polimorfismo. Materiales y Equipo a) Netbeans b) JDKJava Introducción Teórica Clases La característica mas importante de una clase es que define un nuevo tipo de dato. Una vez definido este nuevo tipo de datos se puede utilizar para crear objetos de ese mismo tipo o clase. La sintaxis general para la definición de una clase es la siguiente: class identificador_clase{ private: // variables y funciones miembros privadas protected: // variables y funciones miembros protegidas public: // variables y funciones miembros publicas } Los especificadores de acceso para variables o métodos miembros de una clase pueden ser los siguientes: public variable 0 método miembro puede ser accedido desde cualquier por cualquier código del programa.

6 Java Avanzado, Guía 5 protected Se aplica solo solamente en el caso de que se utilice el concepto de herencia entre clases. private variable 0 método miembro solo puede ser accedido desde otros miembros de la misma clase. Atributos Las variables que se declaran en el cuerpo de un método específico se conocen como variables locales, y sólo se pueden utilizar en ese método. Cuando termina ese método, se pierden los valores de sus variables locales. Un objeto tiene atributos que lleva consigo cuando se utiliza en un programa. Dichos atributos existen antes de que un objeto llame a un método, y después de que el método completa su ejecución. Por lo general, una clase consiste en uno o más métodos que manipulan los atributos pertenecientes a un objeto específico de la clase. Los atributos se representan como variables en la declaración de la clase. Dichas variables se llaman campos o atributos, y se declaran dentro de la declaración de una clase, pero fuera de los cuerpos de las declaraciones de los métodos de la clase. Cuando cada objeto de una clase mantiene su propia copia de un atributo, el campo que representa a ese atributo se conoce también como variable de instancia; cada objeto (instancia) de la clase tiene una instancia separada de la variable en memoria. Atributos de instancia Las variables de instancia son las declaradas por defecto, con un especificador de acceso y un tipo, estas son únicas para cada instancia de la clase class identificador_clase{ int atributo1; String atributo2; } Constantes de clases Las constantes son declaradas con la palabra reservada final, de igual forma que se practico en guías anteriores, estas constantes no cambian su valor en todas las instancias de la clase. class identificador_clase{ final int atributo1; final String atributo2; }

Java Avanzado. Guía 5 7 Atributos de clases Este tipo de atributo son globales a una clase y su valor es global a todas las instancias de esa clase. Se puede entender estos atributos como mas globales que los atributos de instancia. Los atributos de clase son útiles en la comunicación entre diferentes instancias de la misma clase o para dar seguimiento a estados globales dentro de un grupo de objetos. Este tipo de atributo se declara utilizando la palabra reservada static. class identificador_clase{ static int atributo1; static String atributo2; } Métodos Los métodos (también conocidos como funciones o procedimientos en otros lenguajes) permiten dividir un programa en módulos, por medio de la separación de sus tareas en unidades autónomas. Estos métodos se les conoce algunas veces como métodos declarados por el programador. Las instrucciones en los cuerpos de los métodos se escriben sólo una vez, y se reutilizan tal vez desde varias ubicaciones en un programa; además, están ocultas de otros métodos. Toda clase proporciona métodos que realizan tareas comunes en objetos de esa clase. La declaración de un método es de la siguiente: Tipo_retorno nombre_metodo (tipo1 arg1, tipo2 arg2, tipo3 arg3..) {... } Un método se invoca mediante una llamada, y cuando el método que se llamó completa su tarea, devuelve un resultado, o simplemente el control al método que lo llamó. Cuando un método no devuelve valor especificar la palabra reservada void. Toda clase proporciona métodos que realizan tareas comunes en objetos de esa clase. Aunque la mayoría de los métodos se ejecutan en respuesta a las llamadas a métodos en objetos específicos, éste no es siempre el caso. Algunas veces un método realiza una tarea que no depende del contenido de ningún objeto. Dicho método se aplica a la clase en la que está declarado como un todo, y se conoce como método static o método de clase. Es común que las clases contengan métodos static convenientes para realizar tareas comunes.

8 Java Avanzado, Guía 5 Constructores Adicional a los métodos regulares, se pueden definir métodos constructores en la definición de una clase. Un método constructor es un método especial que determina como un objeto se inicializa. A diferencia de los métodos regulares, no se puede invocar un constructor directamente; al contrario, los métodos constructores son invocados por java automáticamente. Cuando se invoca la instrucción new para crear la instancia de una clase, java realiza lo siguiente: Reservar memoria para el objeto. Inicializa las variables de instancia, tanto a sus valores iniciales o valores default. Invoca el constructor de la clase (que puede ser uno de varios metodos). Los constructores son similares a los métodos, con dos diferencias importantes: 1. los construtores siempre tienen el mismo nombre de la clase. 2. Los constructores no retornan valores Herencia La forma de definir una clase subclase (clase derivada) que hereda de una superclase (clase base) es la siguiente: class IdentificadorSubClase extends IdentificadorSuperClase { // métodos y Campos La palabra clase extends indica que se esta definiendo una nueva clase que derivada de otra clase que ya existe.

Java Avanzado. Guía 5 9 Procedimiento Clases definidas por el usuario En el programa Fraction.java se declara y define la clase Fraction que permite realizar las operaciones básicas de suma, resta, multiplicación y división de fracciones. Compilar y ejecutar el programa en mención. Fraction.java

10 Java Avanzado, Guía 5

Java Avanzado. Guía 5 11 Ejecución y compilación Herencia La clase Empleado define una clase base que será utilizada para crear clases derivadas para un cierto tipo de empleados específicos tales como una secretaria, un vigilante, un motorista, un gerente, entre otros tipos, la clase base empleado define los campos y métodos de un perfil de empleado genérico. Digitar el código de la clase Empleado siguiente: Empleado.java

12 Java Avanzado, Guía 5 La clase Gerente es una clase derivada de la clase Empleado, en este caso a manera de ejemplo debido a su naturaleza, el empleado Gerente obtiene su sueldo bruto mensual a partir de su sueldo base mas un bono, por esa razón la clase Gerente redefine la función obtenersalario() de la clase Empleado. El resto de métodos miembros de la clase Empleado es reutilizada a través de la herencia por la clase Gerente, exactamente la clase Gerente hereda de la clase Empleado los siguientes métodos: 1) obtenerfechacontratacion() 2) obtenernombre() 3) obtenernombre() 4) aumentarsalario(double porcentaje) Digitar el código de la clase Gerente siguiente: Gerente.java En la clase PruebaEmpleadoGerente se crea un arreglo de tipo Empleado para contener tanto objetos de tipo Empleado como objetos de Tipo Gerente. Digitar el código de la clase PruebaEmpleadoGerente. Compilar las clases digitadas anteriormente y ejecutar el programa PruebaEmpleadoGerente Como muestra la ejecución.

Java Avanzado. Guía 5 13 PruebaEmpleadoGerente.java Ejecución y compilación

14 Java Avanzado, Guía 5 Investigación Complementaria 1. Modifique todos los programas digitados de forma tal que le pide que ingrese los valores con los que se trabajan (Notas, números, etc). Bibliografía Aprendiendo Java 2 en 21 Días Lemay, Laura Cómo Programar en Java Deitel, Harvey M.