Articles of herencia de

Búsqueda de nombres en plantillas de C ++

Tengo un código C ++ que ya no se está comstackndo sin la opción -permissive. Es un código de propiedad que no puedo compartir, pero creo que he podido extraer un caso de prueba simple que demuestra el problema. Aquí está el resultado de g ++ template_eg.cpp: In instantiation of ‘void Special_List::do_other_stuff(T*) [with T = […]

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 […]

Son variables estáticas heredadas

He leído en miles de ubicaciones que las variables estáticas no se heredan. Pero entonces, ¿cómo funciona este código? Parent.java public class Parent { static String str = “Parent”; } Child.java public class Child extends Parent { public static void main(String [] args) { System.out.println(Child.str); } } Este código imprime “Parent”. Lea también en pocas […]

Herencia pseudo-clásica con privacidad?

En JavaScript: The Good Parts , Crockford argumenta que uno de los inconvenientes de usar el patrón pseudoclásico de herencia es que expone públicamente variables de instancia. Por ejemplo: var Ball = function(width, color) { this.width = width; this.color = color; } var redBall = new Ball(5, “red”); redBall.width = 12; // Changes width to […]

C # static member “inheritance”: ¿por qué existe esto?

En C #, los miembros estáticos de una superclase se “heredan” en el scope de las subclases. Por ejemplo: class A { public static int M() { return 1; } } class B : A {} class C : A { public new static int M() { return 2; } } […] AM(); //returns 1 […]

¿Cómo anulo el método Agregar de List en C #?

Actualmente estoy buscando hacer mi propia colección, que sería como una lista normal, excepto que solo contendría 10 elementos. Si se agrega un artículo cuando ya hay 10 elementos en la lista, entonces el primer elemento se eliminará antes de que se añada el nuevo elemento. Lo que quiero hacer es crear una clase que […]

¿Cómo puede una clase derivada invocar el método privado de la clase base?

public class PrivateOverride { private void f() { System.out.println(“private f()”); } } public class Derived extends PrivateOverride { public void f() { //this method is never run. System.out.println(“public f()”); } } public static void main(String[] args) { // instantiate Derived and assign it to // object po of type PrivateOverride. PrivateOverride po = new Derived(); […]

plantillas: variables de miembro de clase principal no visibles en clase heredada

Tengo los siguientes 4 archivos: arrayListType.h : arrayListType.h y defina clase arrayListType como plantilla arrayListType : Heredado de la clase arrayListType y Declara y define unorderedArrayListType como una plantilla. main1.cpp : Progtwig de prueba para probar la clase main1.cpp unorderedArrayListType . Makefile arrayListType un error de comstackción al acceder a las variables protegidas de arrayListType […]

¿Cómo llamar al método anulado de una superclase?

¿Cómo puedo llamar al método de comer y beber de la clase Animal con la instancia myAnimal en el código? public class Animal { public void eat() { System.out.println(“Animal Eats”); } public void drink() { System.out.println(“Animal Drinks”); } } public class Cat extends Animal { @Override public void eat() { System.out.println(“Cat Eats”); } @Override public […]

¿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 […]