Articles of polymorphism

Tente descrever o polymorphism o mais fácil possível

Como o polymorphism pode ser descrito de maneira fácil de entender? Podemos encontrar muita informação sobre o assunto na Internet e livros, como no polymorphism de tipo . Mas vamos tentar simplificar o máximo possível.

Como as funções virtuais e vtable são implementadas?

Todos nós sabemos quais funções virtuais são em C ++, mas como elas são implementadas em um nível profundo? A vtable pode ser modificada ou mesmo acessada diretamente no tempo de execução? A vtable existe para todas as classs, ou apenas para aquelas que possuem pelo menos uma function virtual? As classs abstratas simplesmente possuem […]

O polymorphism se aplica aos atributos de class em Java?

Eu sei que o uso comum de polymorphism na OOP ocorre quando uma referência de class pai é usada para se referir a um object de class filho como este: Animal animal = new Animal(); Animal dog = new Dog(); E eu sei que o polymorphism se aplica aos methods de class, mas também se […]

Qual é a diferença entre polymorphism dynamic e estático em Java?

Alguém pode fornecer um exemplo simples que explica a diferença entre o polymorphism dynamic e estático em Java?

Polimorfismo com gson

Eu tenho um problema ao desserializar uma cadeia de json com o Gson. Eu recebo uma matriz de comandos. O comando pode ser iniciar, parar, algum outro tipo de comando. Naturalmente eu tenho polymorphism e o comando start / stop herda do comando. Como posso serializá-lo de volta ao object de comando correto usando o […]

Por que o ‘não’ ref e o ‘out’ não suportam o polymorphism?

Tome o seguinte: class A {} class B : A {} class C { C() { var b = new B(); Foo(b); Foo2(ref b); // <= compile-time error: // "The 'ref' argument doesn't match the parameter type" } void Foo(A a) {} void Foo2(ref A a) {} } Por que o erro de tempo de […]

Aprendendo C ++: polymorphism e fatiamento

Considere o seguinte exemplo: #include using namespace std; class Animal { public: virtual void makeSound() {cout << "rawr" << endl;} }; class Dog : public Animal { public: virtual void makeSound() {cout << "bark" <makeSound(); } A saída é: rawr bark rawr bark Mas eu pensei que certamente a saída deveria ser “rawr bark bark […]

Evitando o instanceof em Java

Ter uma cadeia de operações “instanceof” é considerado um “cheiro de código”. A resposta padrão é “use polymorphism“. Como eu faria isso neste caso? Existem várias subclasss de uma class base; nenhum deles está sob meu controle. Uma situação análoga seria com as classs Java Integer, Double, BigDecimal etc. if (obj instanceof Integer) {NumberStuff.handle((Integer)obj);} else […]

Armazenar objects de class derivados em variables ​​de class base

Eu gostaria de armazenar instâncias de várias classs em um vetor. Como todas as classs herdam da mesma class base, isso deve ser possível. Imagine este programa: #include #include using namespace std; class Base { public: virtual void identify () { cout << "BASE" << endl; } }; class Derived: public Base { public: virtual […]

Como posso simular o polymorphism de estilo OO em C?

Existe uma maneira de escrever código semelhante a OO na linguagem de programação C ? Veja também: Você pode escrever código orientado a objects em C? Orientação a objects em C Encontrado procurando em “[c] oo”.