¿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
8 questions
L08: Object recursion & Composite

Quiz
•
University
10 questions
AP Programación 2°

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

Quiz
•
University
10 questions
Funciones y While Python - TC1028

Quiz
•
University
10 questions
Intro POO

Quiz
•
University
10 questions
Programación Orientada a Objetos

Quiz
•
University
10 questions
Programación y Desarrollo de Software 2

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

Quiz
•
University
Popular Resources on Quizizz
15 questions
Character Analysis

Quiz
•
4th Grade
17 questions
Chapter 12 - Doing the Right Thing

Quiz
•
9th - 12th Grade
10 questions
American Flag

Quiz
•
1st - 2nd Grade
20 questions
Reading Comprehension

Quiz
•
5th Grade
30 questions
Linear Inequalities

Quiz
•
9th - 12th Grade
20 questions
Types of Credit

Quiz
•
9th - 12th Grade
18 questions
Full S.T.E.A.M. Ahead Summer Academy Pre-Test 24-25

Quiz
•
5th Grade
14 questions
Misplaced and Dangling Modifiers

Quiz
•
6th - 8th Grade