Extraer superclase.
Tienes dos clases con campos y métodos comunes.
Crea una superclase compartida para ellas y mueve a ella todos los campos y métodos idénticos.
##Example
##Why Refactor
Un tipo de duplicación de código se produce cuando dos clases realizan tareas similares de la misma manera, o realizan tareas similares de formas diferentes. Los objetos ofrecen un mecanismo integrado para simplificar tales situaciones mediante la herencia. Pero a menudo esta similitud pasa desapercibida hasta que las clases ya están creadas, lo que obliga a crear una estructura de herencia más adelante.
##Benefits
- Desduplicación de código. Los campos y métodos comunes ahora “viven” en un único lugar.
##How to Refactor
-
Crea una superclase abstracta.
-
Usa Subir campo, Subir método y Subir cuerpo del constructor para mover la funcionalidad común a una superclase. Empieza por los campos, ya que además de los campos comunes necesitarás mover los campos que se utilizan en los métodos comunes.
-
Busca lugares en el código cliente donde el uso de subclases pueda sustituirse por tu nueva clase (como en las declaraciones de tipos).