0 оценок0% нашли этот документ полезным (0 голосов)
48 просмотров24 страницы
El documento describe el concepto de herencia en programación orientada a objetos. Explica que la herencia permite crear nuevas clases que extienden la funcionalidad de clases existentes sin tener que reescribir su código. Las subclases heredan los atributos y métodos de la superclase. También pueden agregar nuevos atributos y métodos. El documento provee ejemplos de cómo implementar herencia para representar diferentes tipos de trabajadores.
El documento describe el concepto de herencia en programación orientada a objetos. Explica que la herencia permite crear nuevas clases que extienden la funcionalidad de clases existentes sin tener que reescribir su código. Las subclases heredan los atributos y métodos de la superclase. También pueden agregar nuevos atributos y métodos. El documento provee ejemplos de cómo implementar herencia para representar diferentes tipos de trabajadores.
El documento describe el concepto de herencia en programación orientada a objetos. Explica que la herencia permite crear nuevas clases que extienden la funcionalidad de clases existentes sin tener que reescribir su código. Las subclases heredan los atributos y métodos de la superclase. También pueden agregar nuevos atributos y métodos. El documento provee ejemplos de cómo implementar herencia para representar diferentes tipos de trabajadores.
Encapsulamiento vs Herencia Mientras que el encapsulamiento nos permite escribir objetos autónomos bien definidos, posibilitando que un objeto utilice a otro objeto mediante mensajes. EL uso es sólo una de las formas en que los objetos se pueden relacionar en la OO. Otra forma de interrelación entre objetos viene a ser la Herencia.
3 POO - Manuel Lagos
Herencia El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de una clase existente sin tener que reescribir el código asociado a esta última. La herencia permite tomar una clase existente como base para definir una nueva clase. A través de la herencia, la clase nueva hereda todos los atributos y comportamientos presentes en la clase existente..
4 POO - Manuel Lagos
Herencia La nueva clase, a la que se denomina subclase, puede poseer atributos y métodos que no existan en la clase original. Los objetos de la nueva clase heredan los atributos y los métodos de la clase original, que se denomina superclase.
5 POO - Manuel Lagos
Herencia Trabajador es una clase genérica que sirve para almacenar datos como el nombre, la dirección, el número de teléfono o el número de la seguridad social de un trabajador. Empleado es una clase especializada para representar los empleados que tienen una nómina mensual (encapsula datos como su salario mensual y los impuestos). Consultor es una clase especializada para representar a aquellos trabajadores que cobran por horas (por ejemplo, registra el número de horas que ha trabajado un consultor y su tarifa horaria).
6 POO - Manuel Lagos
Herencia Las clases Empleado y Consultor, además de los atributos y de las operaciones que definen, heredan de Trabajador todos sus atributos y operaciones.
7 POO - Manuel Lagos
Herencia Un empleado concreto tendrá, además de sus atributos y operaciones como Empleado, todos los atributos correspondientes a la superclase Trabajador.
8 POO - Manuel Lagos
Clase Trabajador:
9 POO - Manuel Lagos
Clase Empleado:
10 POO - Manuel Lagos
Herencia Con la palabra reservada extends indicamos que Empleado es una subclase de Trabajador. Con la palabra reservada super accedemos a miembros de la superclase desde la subclase. Generalmente, en un constructor, lo primero que nos encontramos es una llamada al constructor de la clase padre con super(...). Si no ponemos nada, se llama al constructor por defecto de la superclase antes de ejecutar el constructor de la subclase.
11 POO - Manuel Lagos
Clase Consultor:
12 POO - Manuel Lagos
Herencia La clase Consultor también define un método llamado calcularPaga (), si bien en este caso el cálculo se hace de una forma diferente por tratarse de un trabajador de un tipo distinto. Tanto la clase Empleado como la clase Consultor redefinen el método toString () que convierte un objeto en una cadena de caracteres. De hecho, Trabajador también redefine este método, que se hereda de la clase Object, la clase base de la que heredan todas las clases en Java.
13 POO - Manuel Lagos
Redefinición de métodos Como hemos visto en el ejemplo con el método toString (), cada subclase hereda las operaciones de su superclase pero tiene la posibilidad de modificar localmente el comportamiento de dichas operaciones (redefiniendo métodos).
14 POO - Manuel Lagos
Probando las clases: Defina una clase Principal y agregue el siguiente código adecuadamente para probar las clases creadas:
15 POO - Manuel Lagos
Ejercicios
16 POO - Manuel Lagos
Enunciado: Cree un proyecto, defina las clases que crea conveniente con sus respectivos atributos, constructores, get’s, set’s, para los diagramas UML, mostrados a continuación. Cree una clase principal para probar las clases creadas.
17 POO - Manuel Lagos
Ejercicio 1:
18 POO - Manuel Lagos
Ejercicio 2:
19 POO - Manuel Lagos
Ejercicio 3:
20 POO - Manuel Lagos
Ejercicio 04: Caso Cuenta Bancaria En un determinado banco se da a los clientes algunas de las opciones de cuentas siguientes: Una cuenta de ahorros, una cuenta de cheques, una cuenta a plazo fijo y una cuenta sobregirada. Una cuenta genérica: Cada tipo de cuenta le permite al usuario depositar y retirar fondos, así como verificar el saldo. La cuenta genérica base no permite un sobregiro. La cuenta de ahorros: La cuenta de ahorros se especializa respecto de la cuenta genérica mediante la aplicación de intereses al saldo cuando se le indica. Por ejemplo, si un cuentahabiente tiene un saldo de $1000 y la tasa de interés es del 2% del pago de intereses, el nuevo sado será: $1020. Saldo = saldo + (saldo*tasaInteres) La cuenta de ahorros no permite un sobregiro.
21 POO - Manuel Lagos
Ejercicio 04: Caso Cuenta Bancaria La cuenta de cheques: a diferencia de las cuentas de ahorros y a plazo fijo, esta cuenta no aplica intereses al saldo. En lugar de ello, la cuenta de cheques permite al cuentahabiente girar cheques y efectuar transacciones a través de cajero automático. No obstante el banco restringe el número de transacciones mensuales a una cantidad determinada. Si el cuentahabiente excede esta cuota mensual, el banco cobrará un recargo por transacción. Por ejemplo, si el cuentahabiente tiene cinco transacciones gratuitas por mes y hace ocho transacciones, a un costo de $1 por transacción adicional, el banco cobrará un recargo de $3 al cuentahabiente. La cuenta de cheques no permite un sobregiro. Cuenta Sobregirada: esta cuenta permite al cuentahabiente retirar dinero adicional al que indica su saldo. Sin embargo, esto no es gratuito. Periódicamente, el banco aplicará una tasa de interés al saldo negativo. Por ejemplo si el cuentahabiente maneja un saldo de - $1000 a una tasa de 20%, pagará un recargo de $200. Después de que se aplique el recargo, su saldo será de -$1200 . Observe que el banco sólo cobra intereses a las cuentas con saldo negativo, si no lo hiciera así, el banco terminará regalando dinero. El negocio del Banco no es regalara dinero. A diferencia de la cuenta de cheques, la cuenta sobregirada no tiene un límite para la cantidad de transacciones mensuales. Al banco le agrada fomentar los retiros de dinero.
22 POO - Manuel Lagos
Ejercicio 04: Caso Cuenta Bancaria Formule una jerarquía de herencia e implemente las cuentas que definimos anteriormente. Implemente una clase principal desde donde probar todo el código generado. Simplifique las cosas, para el cálculo de recargos, el plazo de vencimiento y el interés, suponga que el tercero vigilará el calendario. No incluya este tipo de funcionalidad en sus clases. Proporciones un método para que otro objeto lo llame. Por ejemplo, la clase CuentaAhorros deberá contar con un método sumarIntereses(). Un objeto externo llamará a este método cuando sea necesario calcular el interés. De la misma manera la clase CuentaCheques deberá tener un método aplicarRecargos(). Cuando sea llamado, este método calculará los recargos y los aplicará al saldo.
23 POO - Manuel Lagos
Cuestionario 2.1. Investigue sobre las formas de Herencia que se pueden implementar. 2.2. ¿Conlleva algún peligro implementar el mecanismo de la Herencia?. 2.3. ¿Cuando se hereda de una clase qué tipos de métodos y atributos pueden haber? 2.4. ¿Qué significa programar por diferencia, tiene algún beneficio? 2.5. Cree a partir de una calculadora básica una calculadora científica que también sepa realizar los cálculos trigonométricos del Sen, Cos, etc. Muestre el diagrama UML e implemente la solución en java. 24 POO - Manuel Lagos
Como empezar un negocio desde cero y hacer que funcione. Guia para lanzar tu negocio propio y convertirte en un exitoso emprendedor con el Modelo Canvas: Economia y Negocios