¿Cómo suele implementar Bobby los métodos en la superclase de una jerarquía polimórfica?
L05: Polymorphic Hierarchy

Quiz
•
Computers
•
University
•
Medium
FIUBA iii
Used 24+ times
FREE Resource
8 questions
Show all answers
1.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
Enviando un mensaje a cada subclase
No los implementa
Utilizando polimorfismo
Con self subclassResponsibility o algo simple
Answer explanation
Menciona que a veces retorna "self" o pone una implementación default no disruptiva.
Consejo: "self subclassResponsability" o, si estamos bastante seguros, una implementación default puede ser una buena opción para evitar código repetido.
2.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
¿Que hace Bobby cuando se enfrenta con una pieza de código poco clara?
Deja comentarios en el código
Extrae esa parte a un método aparte cuyo nombre clarifica el asunto
Elimina esa pieza de código
Sigue con lo suyo, ya que no le importa demasiado que el código sea claro
Answer explanation
Cualquier solución en código siempre es superadora a una con comentarios, porque lo primero es algo vivo, que se ejecuta, que es refactorizable, etc y por ende con menor riesgo de quedar viejo.
3.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
¿De qué manera y con qué frecuencia suele Bobby dividir las descripciones de los métodos que escribe?
Siempre detalla el CÓMO (los detalles de implementación) y a veces el QUÉ
El QUÉ lo explica siempre y el CÓMO sólo cuando no se entiende el código por si solo
El QUÉ lo explica siempre y a veces el POR QUÉ, contando en este último las decisiones de diseño que tomó
El QUÉ a veces y el CUANDO siempre, para no olvidarse en qué momento hizo los últimos cambios
Answer explanation
Ojo acá con el tema de que los comentarios tiene un costo de mantenimiento... comentarios obsoletos pueden ser más perjucidiales que no comentar nada.
Lo mejor es que el código sea tan claro que no sea necesario comentarlo. Aunque a veces, un comentario a nivel clase o algún método en particular, donde es imposible que un nombre sintetice el qué, suma.
4.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
¿Cual fue una de las cosas que mas le costó aprender a Bobby sobre Smalltalk?
Entender que las subclases no se usan para evitar repetir código sino más bien como distintas especializaciones de la superclase
No heredar de clases concretas
Entender que no está bueno crear clases para cosas que podrían ser objetos (sobre-diseñar)
Aprender el concepto de Template Class
Answer explanation
No heredar de clases concretas y no crear clases para cosas que podrían ser objetos son buenos consejos, pero no figuran en el paper.
5.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
Dos métodos son realmente polimórficos cuando...
Tienen el mismo nombre
Tienen el mismo nombre y misma cantidad y tipo de parámetros
Tienen el mismo nombre, misma cantidad y tipo de parámetros y devuelven el mismo tipo de resultado
Tienen el mismo nombre, misma cantidad y tipo de parámetros, mismo tipo de resultado y se comportan del mismo modo
Answer explanation
Como ya discutimos, no alcanza con sólo considerar nombre, parámetros y resultado, sino importa también que tengan el comportamiento. Bobby menciona por ejemplo que tengan los mismos "efectos secundarios".
6.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
¿En qué casos puedo intercambiar un objeto por otro?
Cuando ambos hereden de Object
Cuando ambos pertenecen a una misma jerarquía de clases
Cuando ambos comparten la misma interfaz polimórfica
Cuando ambos comparten una misma interfaz polimórfica base (la que vaya a utilizar el colaborador)
Answer explanation
Con que compartan los mismos mensajes que utiliza el objeto que nos está enviando mensajes, alcanza. No es necesario que tengan ambos la misma interfaz por completo.
7.
MULTIPLE CHOICE QUESTION
45 sec • 1 pt
¿Que hace Bobby cuando encuentra que dos clases con implementaciones polimórficas pero no hay una superclase común específica?
Crea una clase concreta con una implementación común a ambas clases, y borra estas dos últimas
Crea una nueva clase abstracta y subclasifica las 2 clases a partir de esta
No hace nada, ya que no es necesario subclasificar para tener polimorfismo en Smalltalk
Ninguna de las anteriores
Answer explanation
Este es un punto de algo que difiere con lo que aconsejamos en la cátedra. Si bien es muy deseable encontrar jerarquías polimórficas, hay que tener cuidado no estar subclasificando por algo más bien accidental o colateral, ya que luego perderemos extensibilidad en el modelo.
8.
MULTIPLE SELECT QUESTION
45 sec • 1 pt
¿Que enseñanzas importantes nos deja el paper?
Los modelos con jerarquías polifórficas resultan en modelos flexibles, extensibles y más simples
Para poder tener polimorfismo es necesario que dos clases pertenezcan a la misma jerarquía
Conviene que mis jerarquías tengan superclases que sean abstractas
Mientras más comentado esté nuestro código, mejor
Similar Resources on Quizizz
10 questions
Herencia y Paquetes

Quiz
•
University
10 questions
Prueba de Algoritmos y Programación

Quiz
•
10th Grade - University
10 questions
Lección de la Unidad 2

Quiz
•
University
10 questions
Intro POO

Quiz
•
University
10 questions
C Sharp-conceptos básicos

Quiz
•
University
12 questions
HTML, Bootstrap y GitHub

Quiz
•
11th Grade - University
10 questions
Documentación de Código

Quiz
•
University
10 questions
Funciones y While Python - TC1028

Quiz
•
University
Popular Resources on Quizizz
15 questions
Multiplication Facts

Quiz
•
4th Grade
20 questions
Math Review - Grade 6

Quiz
•
6th Grade
20 questions
math review

Quiz
•
4th Grade
5 questions
capitalization in sentences

Quiz
•
5th - 8th Grade
10 questions
Juneteenth History and Significance

Interactive video
•
5th - 8th Grade
15 questions
Adding and Subtracting Fractions

Quiz
•
5th Grade
10 questions
R2H Day One Internship Expectation Review Guidelines

Quiz
•
Professional Development
12 questions
Dividing Fractions

Quiz
•
6th Grade