Programação Orientada a Objetos – Aula 04 - Herança e Polimorfismo - Parte I

14.11k views2315 WordsCopy TextShare
UNIVESP
Engenharia de Computação - 12º Bimestre Disciplina: Programação Orientada a Objetos - EEP-101 Unive...
Video Transcript:
[Música] i [Música] hola personal se llama windows aula número 4 una ola anterior vimos cómo usar o eclipse para crear nuestras clases en esa aula vamos ver algunos principios y orientación objetos que son aranza y polimorfismo vamos a lento aunque que danza como está relacionado con los constructores y con la palabra super clase obvia y finalmente polimorfismo ya vimos hizo una primera aula introductoria más algo nos vamos ver hizo más profundamente aranza en la permite jerarquización de las clases una clase más especializada en elda métodos y atributos de una clase manera o superclase por ejemplo
aquí tenemos a clase terrestre acuático terrestre y ellos son el tipo de transporte cierto automóvil del tipo terrestre un tipo barco un transporte acuático el último acuático y había un el tipo a él porque te importancia de danza era permite reutilizar o modificar métodos de clases y existentes y adicionar nuevos atributos sus métodos meses ejemplo estamos mostrando como la clase automóvil voy a usar sus atributos de otras clases existentes por ejemplo la clase transporte que tenga capacidades y la clase terrestre que tiene número de judas y el libro adicionar maestres otros atributos que son core
número de portas y placa en java cada clase política apenas una superclase en bora una superclase poster varias subclases ya basso podemos utilizar danzas simples y para facer y si usamos la palabra extensa para declarar que una clase hereda de otra clase para simular evidencia múltiple en java usamos interfaces que será un tema de aquí unas dos o tres aulas aquí vemos un mismo ejemplo que vimos antes o que ahora estamos mostrando también consigo un automóvil tenemos atributos capacidades y número de judas al en dos definidos explícita explícitamente para el no aquí tenemos el automóvil
el y este test en esta clase terrestres de transporte y después tenemos a clase transporte tenemos otros atributos de cada uno de discapacidades y número de jaulas con número de puertas y placas y un marco es importante haber aquí que él y son privados ser tu automóvil tiene con número de puertas placas más será que él y tenga acceso a un número de ojo discapacidad sol hembra no tenemos algunos modificadores de acceso que permiten dar visibilidad tenemos público que visibilidad para cualquier clase del sistema privado nos hiciste visibilidad y solamente para clase protegido a visibilidad
y para copa coche para todas las subclases y niño a vivir la visibilidad y edu para coche con cada tributo y método posee un nivel de visibilidad - acaso colocamos privado si colocamos privado en todo el software y ted a clase correspondiente sobre acceso a de la misma las subclases ni en las fronteras eso los atributos privados la superclase toque que poseemos podemos modificar sus atributos de ser privados para ser protegidos ahora su clase está en acceso massera que siempre usar el usar un protegido versión que protegido permite visibilidad y para para coche y para
todas las subclases más hizo que ver un poco un uso principio de que un objeto no debe manipular directamente los atributos de un otro objeto a ella acostumbra siempre a colocar privado mismo cuando tenemos herencia de clases y ahí podemos sentar crear algunos métodos para poder acceder a su atributos como que está relacionada de lanza con los constructores cuando llamamos su método new con dos constructores es llamado ya sabéis cuando una clase my superclase pozo de constructores con parámetros y deseamos citar crear disculpe un objeto de una clase derivada pasan dos valores para esos constructores
con parámetros que pasemos de usar la palabra sabe súper todo aquí tenemos un ejemplillo aquí tenemos un constructor de automóvil sector constructor de automóvil tenemos el constructor de terrestre y el constructor de transporte comencemos pelo consultor de automóvil el ivai recibe todos los parámetros correspondientes capacidades y números de judas con número de portas y placa voy a llamar a super al constructor la clase my daily para aceptar los valores capacidades y números de judas después voy a atribuir accord para con la clase un número de puertas por un número deporte hacia placas para placas set
y aquí entre estrés de reservas llamar un constructor la clase mike sería transporte y él le voy a atribuir un número de ayudas para el atributo correspondiente y finalmente transporte el ifai atribuir capacidades y paragua tributo correspondencia y la clase capacidad que le va a llamar método super que sería está llamando al constructor la clase objeto entonces super permite hacer referencia a los elementos de la clase mal en este caso ahí estás haciendo referencia al constructor a llamado super debe ser la primera instrucción de constructor de la clase derivada su código no incluye una llamada
explícita para el constructor de la clase main entonces java va a llamar el constructor padrón porque el constructor perderá un aquel que no está en parámetros a palabras ya sabes super no solamente puede ser usada para llamar el constructor ella también puede ser usada para referenciar tanto atributos cuanto otros métodos de clase mal veamos un ejemplo aquí tenemos a clase automóvil que está en terrestre con sus atributos y tenemos un método to string en ese método to string estamos llamando a un método to string y la clase maydel tiene la clase my terrestre adicionalmente estamos
colocando nes string ya con un número de portes la placa y finalmente retornamos ese valor la versión que usamos un método to string ser este método la verdad y aquí estamos desenvolviendo también un método de string aquí está un espacio maestra junto tenemos aquí también un método to string ya estamos haciendo la verdad sobre escribir un método de clase may porque significa sobreescribir significa redefinir nuestro caso estamos redefiniendo un método to string de clase terrestre podemos usar la anotación de height para dejar explícito que un método sobre escribe un método de clase my ha sido
compilador que vais a hacer cuando el yo ya que existe esa nota son él y va a comparar asignaturas de ese método con asignaturas de un método de clase mal tanto podemos colocar aquí o viajar para hacer con su compilador fase ese trabajo cuáles son las ventajas de lanza la primera es que le permite economizar tiempo durante desenvolvimiento porque porque la gente aprovecha clases ya existentes que ya fueron testados y depuradas nos permite economizar tiempo marcela también te en desventajas uso de danza aumento agua complemento entre clases la relación que existe entre la clase derivada
y a clases my en muchos foros y si es preciso modificar alguna cosa en nuestra semana y también fue precisa modificar alguna cosa una clase fila toda relación entre ellas de dependencia y mucho forza y eso aumenta o acoplamiento entre clases existe una clase super genérica que la llamada clase object toda clase en java era directa o indirectamente de la clase object una variable de tipo offset poissy referencia era cualquier objeto y vamos a ver que la ayuda a trabajar con programación genérica se va a ser un tema futuro todas nuestras aulas algunos métodos de
esa clase object son métodos y cuales scott y tu string y comparados objetos y retorna true si el sporting iguales scott el retorna un código hash que usado para trabajar con tablas hash youtube string que ya vivimos en tus ideas implementamos el y varias veces ya durante esas aulas el retorno más representación string de un objeto pasemos ahora para polimorfismo un polimorfismo posibilidad que métodos diferentes que están en majer arkía de clases tenían un mismo nombre y ya presente en diferentes comportamientos otra definición de polimorfismo de capacidades y de un objeto ser referenciado de varias
formas vayamos algunos ejemplos que acontece si empresa en próximo del libro y dvd son diferentes como por ejemplo un libro debe ser difundido entre guías y un dvd debe ser de olvido en un día un método de volver él ya presenta comportamientos diferentes tengo un comportamiento para el libro y un otro comportamiento para dvd en otros ejemplos no es templo de transports cada tipo de transporte elige así diferente de diferente forma a mensaje mover vamos a ver aquí algunos detalles de cómo trabajar con objetos de la clase derivada y a clase mike cualquier objeto de
una clase derivada puede ser utilizado en un lugar u objeto de clase my así podemos atribuir un objeto de una clase derivada o más variables de la clase mal un ejemplo tenemos aquí un vector de tamaño 3 guarda objetos verdades y referencias objetos del tipo terrestre y aquí vamos crear tres objetos un equipo terrestre otro equipo terrestre y un equipo automóvil cada uno aquí estamos llamando al consultor de cada uno de ellis y estamos colocando una posición 0 1 y 2 del vector y posteriormente llamamos existen puntos para imprimir cada uno veces de esos objetos
sexto qué método será llamado cuando y chihuahua- dois está aquí hay gente en que ver qué que vaya a acontecer será que va a ser llamado un método de terrestre como método to string de terrestre o será que será llamado un método to string de automóvil eso va a ser decidido en tiempo de ejecución y ya va a verificar con que la clase verdadera objeto ese proceso de determinar dinámicamente cualquier método que será ejecutado es llamado de obligación dinámica entonces vimos qué podemos trabajar con objetos de clase derivada y a clase mal por un objeto
la clase main no puede ser atribuido a un objeto de subic laxe maestra quién es ese empeño que está mostrando en ese sly que estamos haciendo hizo usted en un vector de objetos de tipo terrestre sea estoy estamos atribuyendo unos elementos de ese vector para un más variables que del tipo automóvil tua y tenga algún marco es extraño porque acabe de faltar lo contrario es opositor feito en ese caso pues te doy soy referencia a un objeto de clase automóvil digo que estamos usando aquí para poder facer y yo estamos usando un mecanismo de casting
colocamos un chip o aquí entre paréntesis tomando la práctica de programación de ser un tipo de objeto antes de hacer un casting usando un operador instant soft dentro podemos antes de facer atribución primero preguntamos si es la posición que su objeto que están en t2 en una instancia de automóvil o no y de acuerdo con eso pasemos su casino bella que dice fácil casting son mente y dentro de una jerarquía de danzas en llegada uso de cassis debe ser evitado como que funciona en todo usaba cuando un método la subclase es llamado el llamado primero
a su clase verifica si la tengo un método con esa asignatura si tener un mismo va a ser ejecutado va a ser usado caso contrario esta solicitaciones pasada para clase main nadie la va a verificar yo tengo un método con esa asignatura si for me puedo ejecutar si no paso para my de él vamos a ver un desempeño suponga que vos et en un objeto aquí que da clase c una clase s posee un método ir sino un método una clase de un método si es una clase a un método sis porque acontece con métodos
baixa llamado cuando usemos ese objeto él iba a verificar con un método silva y 6 llamado el ivai verificada clase 7 un método si no te entonces para my day la clase de tengo un método sis de 22 voy a ejecutar ese método pero en que esa es la verificación aquí no afecta ser en todo un método si la clase ha ocultado pero métodos y esta clase b un método de su clase con la misma asignatura que un método de clase main oculta un método de clase mal aquí tenemos un otro ejemplo supone que vos
estén a clase brinquedo después de act a clase carro que estén yibrín quedó la clase avión que estén yibrín quedó también el este un método mover cada uno funciona de manera diferente un caso se móvil de diferente manera que un avión en brinquedo también tenemos un método mover search y aquí de ese lado estamos creando un objeto la clase de caso consejos atributos y estamos atribuyendo y superas variable van que el tipo brinquedo ser hoy en que aquí no hay ducha boca si fuésemos a un punto mover qué método va es el llamado de brinquedo
o de cada país es llamado método de k aquí podríamos ser también un vector método llamado imprimir brinque 2 que recibe un gestor de brinquedo este y podemos imprimir cada uno de los elementos de ese vector costaría más de llamar un método con un vector que ten brinke dos de diferentes tipos por ejemplo casos de aviones aviones su que se te den varios tipos de entró casos y aviones en ese caso ese método va a funcionar va a funcionar si y si creamos una nueva subclase por ejemplo a clase tren precisamos mudar esa clase controles
que si de falar que ese método imprimir bien quedó el primer brinque 2 está dentro de la clase controle brinque 2 será que si adicionamos una nueva clase vamos a tener que modificar una clase de controles brinque 2 no no precisamos hacer esa mudanza en toco que aguanta siendo un polimorfismo un polimorfismo junto con la sobre escrita de métodos permite disminuir acoplamiento entre clases se sentó por un lado por un lado aranza aumentó acoplamiento y por otro lado a partir de pólipos polimorfismo disminuyó acoplamiento toda esa falla nos habla de hoy obligada por ser asistido
espero que ustedes tenían gustado ya te aproxima hable [Música] [Música] [Música] [Música] i y
Copyright © 2024. Made with ♥ in London by YTScribe.com