Articles of anular

La conexión entre ‘System.out.println ()’ y ‘toString ()’ en Java

¿Cuál es la conexión entre System.out.println() y toString() en Java? p.ej: public class A { String x = “abc”; public String toString() { return x; } } public class ADemo { public static void main(String[] args) { A obj = new A(); System.out.println(obj); } } Si la clase principal se ejecuta, da una salida como […]

¿Puedo anular una propiedad en c #? ¿Cómo?

Tengo esta clase base: abstract class Base { public int x { get { throw new NotImplementedException(); } } } Y el siguiente descendiente: class Derived : Base { public int x { get { //Actual Implementaion } } } Cuando compilo recibo esta advertencia diciendo que la definición de x de la clase derivada […]

¿Cuál es el uso de ‘anulación abstracta’ en C #?

Solo por curiosidad intenté sobreescribir un método abstracto en la clase base, y el método de la implementación abstracta. Como a continuación: public abstract class FirstAbstract { public abstract void SomeMethod(); } public abstract class SecondAbstract : FirstAbstract { public abstract override void SomeMethod(); //?? what sense does this make? no implementaion would anyway force […]

¿Por qué tenemos que llamar super en Android a veces?

A veces, cuando anulo los métodos, recibo una excepción la primera vez que se llama como a continuación: 05-31 21:32:04.266: E/AndroidRuntime(28471): android.support.v4.app.SuperNotCalledException: Fragment AnalFragment{41795860 #1 id=0x7f070002} did not call through to super.onDestroy() ¿Por qué estamos obligados a llamar a super.method() ? Tiene sentido que existan obligaciones por parte de la clase de padres, pero lo […]

‘Sombras’ vs. ‘Anulaciones’ en VB.NET

¿Cuál es el significado de las dos palabras clave Shadows and Overrides ? ¿Qué hacen y para qué contexto es preferible uno u otro?

Java: Llamar a un método super que llama a un método anulado

public class SuperClass { public void method1() { System.out.println(“superclass method1”); this.method2(); } public void method2() { System.out.println(“superclass method2”); } } public class SubClass extends SuperClass { @Override public void method1() { System.out.println(“subclass method1”); super.method1(); } @Override public void method2() { System.out.println(“subclass method2”); } } public class Demo { public static void main(String[] args) { SubClass […]

¿es posible llamar al método reemplazado desde la estructura padre en golang?

Quiero implementar dicho código, donde B hereda de A y solo reemplaza el método Foo () de A, y espero que el código imprima B.Foo (), pero aún así imprima A.Foo (), parece que el receptor en Golang no puede funcionar así en C ++, en el que cuando el enlace dynamic está habilitado, el […]

¿Hay alguna forma en C # para anular un método de clase con un método de extensión?

Ha habido ocasiones en las que me gustaría anular un método en una clase con un método de extensión. ¿Hay alguna manera de hacer eso en C #? Por ejemplo: public static class StringExtension { public static int GetHashCode(this string inStr) { return MyHash(inStr); } } Un caso en el que he querido hacer esto […]

¿Por qué necesitamos la nueva palabra clave y por qué es el comportamiento predeterminado para ocultar y no anular?

Estaba viendo esta publicación en el blog y tenía las siguientes preguntas: ¿Por qué necesitamos la palabra clave new ¿Es solo para especificar que se está ocultando un método de clase base? Quiero decir, ¿por qué lo necesitamos? Si no usamos la palabra clave override , ¿no estamos ocultando el método de la clase base? […]

¿Puedo llamar a la función virtual de una clase base si la estoy anulando?

Digamos que tengo clases de Foo y Bar configuradas así: class Foo { public: int x; virtual void printStuff() { std::cout << x << std::endl; } }; class Bar : public Foo { public: int y; void printStuff() { // I would like to call Foo.printStuff() here… std::cout << y << std::endl; } }; Como […]