¿Cuál es la diferencia entre una función abstracta y una función virtual? ¿En qué casos se recomienda usar virtual o abstracto? ¿Cuál es el mejor
abstract es una palabra clave compartida por una multitud de lenguajes de programación orientados a objetos. Los métodos y las clases se pueden marcar como abstractos para indicar que no contienen la implementación completa de la lógica de la aplicación y deben ampliarse. Las clases abstractas no se pueden instanciar y tienen el propósito de proporcionar una interfaz uniforme para sus subclases, así como la implementación de métodos comunes que no tienen que volver a implementarse para cada subclase.
¿Cuál es la diferencia entre una función abstracta y una función virtual? ¿En qué casos se recomienda usar virtual o abstracto? ¿Cuál es el mejor
Durante una de mis entrevistas, me preguntaron "¿Si podemos crear una instancia de una clase abstracta?" Mi respuesta fue "No. no podemos". Pero, el entrevistador me dijo "Mal, podemos". Discutí un poco sobre esto. Luego me dijo que probara esto yo mismo en casa. abstract class my { public void...
¿Cómo puedo hacer un resumen de clase o método en Python? Intenté redefinir __new__()así: class F: def __new__(cls): raise Exception("Unable to create an instance of abstract class %s" %cls) pero ahora si creo una clase Gque hereda de esta Fmanera: class G(F): pass entonces tampoco puedo...
Considere un ejemplo (que se compila en Java) public abstract interface Interface { public void interfacing(); public abstract boolean interfacing(boolean really); } ¿Por qué es necesario que una interfaz sea "declarada" abstracta? ¿Hay otras reglas que se aplican con una interfaz...
Estoy interactuando a través de clases en un archivo Jar y deseo encontrar aquellas que no sean abstractas. Puedo resolver esto instanciando las clases y atrapando InstantiationException, pero eso tiene un impacto en el rendimiento ya que algunas clases tienen un inicio pesado. No puedo encontrar...
Las clases de datos parecen ser el reemplazo de los POJO anticuados en Java. Es bastante esperable que estas clases permitan la herencia, pero no veo una manera conveniente de extender una clase de datos. Lo que necesito es algo como esto: open data class Resource (var id: Long = 0, var location:...
Hoy utilicé la función de refactorización de "interfaz de extracción" de Eclipse para crear una interfaz basada en una clase existente. El cuadro de diálogo ofreció crear todos los nuevos métodos de la nueva interfaz como métodos "abstractos". ¿Cuál sería el beneficio de eso? Pensé que el hecho...
Después de habilitar advertencias estrictas en PHP 5.2, vi una carga de advertencias de estándares estrictos de un proyecto que se escribió originalmente sin advertencias estrictas: Estándares estrictos : Función estática Program :: getSelectSQL () no debe ser abstracto en Program.class.inc La...
¿Puedo definir una clase abstracta sin agregar un método
¿Es posible simular una clase base abstracta en JavaScript? ¿Cuál es la forma más elegante de hacerlo? Diga, quiero hacer algo como: - var cat = new Animal('cat'); var dog = new Animal('dog'); cat.say(); dog.say(); Debería mostrar: 'ladrido',
Los métodos de C # en las interfaces se declaran sin usar la virtualpalabra clave y se anulan en la clase derivada sin usar la overridepalabra clave. ¿Hay alguna razón para esto? Supongo que es solo una conveniencia de lenguaje, y obviamente el CLR sabe cómo manejar esto bajo las sábanas (los...
¿Por qué las clases de Java no pueden tener campos abstractos como pueden tener métodos abstractos? Por ejemplo: tengo dos clases que extienden la misma clase base abstracta. Cada una de estas dos clases tiene un método que es idéntico excepto por una constante String, que resulta ser un mensaje...
¿Existe una forma estándar de hacer una "función virtual pura" en Swift, es decir. uno que debe ser anulado por cada subclase, y que, si no es así, causa un error de tiempo de compilación?