Articles of inheritance

São variables ​​estáticas herdadas

Eu li em milhares de locais que as variables ​​estáticas não são herdadas. Mas então como esse código funciona bem? 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 “pai”. Leia também em […]

Herança Java – método de superclass de chamada

Vamos supor que eu tenho as duas classs seguintes public class alpha { public alpha(){ //some logic } public void alphaMethod1(){ //some logic } } public class beta extends alpha { public beta(){ //some logic } public void alphaMethod1(){ //some logic } } public class Test extends beta { public static void main(String[] args) { […]

Por que uma class pai e filho implementaria a mesma interface?

Eu herdei alguns códigos Java (1.4) herdados e essa decisão de design aparece regularmente. Não consigo entender se existe algum propósito ou razão para isso. public interface SoapFacade extends iConfigurable{ } public class SoapFacadeBase implements SoapFacade{ … } public class SoapFacadeImpl extends SoapFacadeBase implements SoapFacade{ … } Como eu entendo as interfaces (e minha experimentação […]

Por que não posso criar um construtor abstrato em uma class C # abstrata?

Eu estou criando uma class abstrata. Eu quero que cada uma das minhas classs derivadas seja forçada a implementar uma assinatura específica do construtor. Como tal, eu fiz o que eu teria feito se quisesse forçá-los a implementar um método, fiz um resumo. public abstract class A { abstract A(int a, int b); } No […]

Por que precisamos realmente de inheritance privada ou protegida em C ++?

Em C ++, não consigo pensar em um caso em que gostaria de herdar private / protected de uma class base: class Base; class Derived1 : private Base; class Derived2 : protected Base; Isso é realmente útil?

Por que usar inheritance em tudo?

Sei que a questão já foi discutida antes , mas parece sempre pressupor que a inheritance é pelo menos às vezes preferível à composição. Eu gostaria de desafiar essa suposição na esperança de ganhar algum entendimento. Minha pergunta é a seguinte: como você pode realizar qualquer coisa com a composição de objects com inheritance clássica […]

Qual é a alternativa correta para inheritance de método estático?

Eu entendo que a inheritance de método estático não é suportada em c #. Também li uma série de discussões (incluindo aqui) nas quais os desenvolvedores afirmam a necessidade dessa funcionalidade, para a qual a resposta típica é “se você precisar de inheritance de membro estático, há uma falha em seu design”. OK, dado que […]

Por que devo usar a palavra-chave “using” para acessar meu método de class base?

Eu escrevi o código abaixo para explicar meu problema. Se eu comentar a linha 11 (com a palavra-chave “usando“), o compilador não compila o arquivo e exibe esse erro: invalid conversion from ‘char’ to ‘const char*’ . Parece não ver o método void action(char) da class Parent na class Son . Por que o compilador […]

Iniciando o JavaFX do método Main da class que não estende o Application

Estou tendo problema para iniciar um aplicativo JavaFX a partir de um método Main de uma class que não estende javafx.application.Application Na minha aplicação, há o MainApp.java que deve iniciar o método overriden start() no MainUIController.java , que se estende Applciation Quando inicio o método Main a partir do MainUIController.java tudo funciona bem. MainApp.java public […]

C # membro estático “inheritance” – por que isso existe em tudo?

Em C #, os membros estáticos de uma superclass são “herdados” no escopo de subclasss. Por exemplo: class A { public static int M() { return 1; } } class B : A {} class C : A { public new static int M() { return 2; } } […] AM(); //returns 1 BM(); //returns […]