Articles of inheritance

Explicação da saída do snippet de código Java necessária

Meu código é: class Foo { public int a=3; public void addFive() { a+=5; System.out.print(“f “); } } class Bar extends Foo { public int a=8; public void addFive() { this.a += 5; System.out.print(“b “); } } public class TestClass { public static void main(String[]args) { Foo f = new Bar(); f.addFive(); System.out.println(fa); } } […]

Por que minha class pública não pode estender uma class interna?

Eu realmente não entendo. Se a class base for abstrata e destinada apenas a ser usada para fornecer funcionalidade comum às subclasss públicas definidas no assembly, por que ela não deveria ser declarada interna? Eu não quero que a class abstrata seja visível para o código fora do assembly. Eu não quero código externo para […]

Vantagens de definir a propriedade “constructor” no “protótipo”

Em JavaScript Prototype inheritance, qual é o objective de adicionar a propriedade prototype.constructor. Deixe-me explicar com um exemplo. var Super = function () { this.superProperty = ‘Super Propriedade’ } var Sub = function () { this.subProperty = ‘Sub Propriedade’ } Sub.prototype = new Super (); Sub.prototype.constructor = Sub; // vantagens da afirmação var inst = […]

Por que as restrições de tipo genérico não são herdadas / hierarquicamente aplicadas?

Classe de item public class Item { public bool Check(int value) { … } } Classe abstrata base com restrição de tipo genérico public abstract class ClassBase where TItem : Item { protected IList items; public ClassBase(IEnumerable items) { this.items = items.ToList(); } public abstract bool CheckAll(int value); } Classe herdada sem restrições public class […]

Qual é a melhor maneira de garantir que o construtor estático de uma class base seja chamado?

A documentação sobre construtores estáticos em C # diz: Um construtor estático é usado para inicializar qualquer dado estático ou para executar uma ação específica que precisa ser executada apenas uma vez. Ele é chamado automaticamente antes que a primeira instância seja criada ou qualquer membro estático seja referenciado . Essa última parte (sobre quando […]

Posso replace com tipos derivados?

Tanto quanto eu sei, não é possível fazer o seguinte em C # 2.0 public class Father { public virtual Father SomePropertyName { get { return this; } } } public class Child : Father { public override Child SomePropertyName { get { return this; } } } Eu trabalho em torno do problema, criando […]

Quando inheritance virtual é um bom design?

EDIT3: Por favor, certifique-se de entender claramente o que estou perguntando antes de responder (há EDIT2 e muitos comentários ao redor). Existem (ou foram) muitas respostas que claramente mostram uma incompreensão da pergunta (eu sei que também é minha culpa, desculpe por isso) Oi, Eu olhei as perguntas sobre inheritance virtual ( class B: public […]

Javascript “OOP” e protótipos com inheritance de múltiplos níveis

Eu sou novo em programação Javascript e estou abordando meu primeiro aplicativo (um jogo, na verdade) de uma perspectiva de programação orientada a objects (eu sei que js não é realmente orientada a objects, mas para esse problema em particular era mais fácil começar como esta). Eu tenho uma hierarquia de “classs”, onde o mais […]

Os membros privados são herdados em c #?

Acabei de ver um tutorial dizendo que: Class Dog { private string Name; } Class SuperDog:Dog { private string Mood; } Em seguida, houve uma exibição em UML que o SuperDog herdará também o nome. Eu tentei, mas para mim parece que apenas membros públicos são herdados. Pelo menos eu não consegui acessar o Nome […]

Regras de sobrecarga e inheritance de Java

Eu tenho estudado porque tenho um exame e não tenho muitos problemas com a maioria de Java, mas me deparei com uma regra que não posso explicar. Aqui está um fragment de código: public class A { public int method(Object o) { return 1; } public int method(A a) { return 2; } } public […]