Articles of eredità

Comportamento di blocchi statici con ereditarietà

Sto cercando di usare blocchi statici come questo: Ho una class base chiamata Base.java public class Base { static public int myVar; } E una class derivata Derived.java : public class Derived extends Base { static { Base.myVar = 10; } } La mia funzione main è così: public static void main(String[] args) { System.out.println(Derived.myVar); […]

Perché non dovremmo usare la static protetta in java

Stavo passando per questa domanda C’è un modo per sostituire le variabili di class in Java? Il primo commento con 36 upvotes è stato: Se mai vedi una protected static , corri. Qualcuno può spiegare perché una protected static disapprova?

Best practice orientate agli oggetti – Ereditarietà v Composizione v Interfacce

Voglio porre una domanda su come affrontate un semplice problema di progettazione orientato agli oggetti. Ho alcune idee personali su quale sia il modo migliore di affrontare questo scenario, ma sarei interessato ad ascoltare alcune opinioni della community di Stack Overflow. Sono anche apprezzati i link a articoli online pertinenti. Sto usando C #, ma […]

Java call base method dal costruttore di base

Come chiamare Super :: printThree da Super :: Super ()? Nell’esempio seguente, invece, chiamo Test :: printThree. class Super { Super() { printThree(); // I want Super::printThree here! } void printThree() { System.out.println(“three”); } } class Test extends Super { int three = 3 public static void main(String[] args) { Test t = new Test(); […]

Quando implementare un’interfaccia e quando estendere una superclass?

Ho letto molto sulle interfacce e l’ereditarietà delle classi in Java, e so come fare entrambe le cose e penso di avere un buon feeling per entrambi. Ma sembra che nessuno parli mai realmente i due fianco a fianco e spiega quando e perché vorresti usare l’uno o l’altro. Non ho trovato molte volte quando […]

Iniezione di successione e dipendenza

Ho una serie di componenti angular2 che dovrebbero essere tutti iniettati. Il mio primo pensiero è che sarebbe meglio creare una super class e iniettare il servizio lì. Ognuno dei miei componenti estenderebbe quindi quella superclass ma questo approccio non funziona. Esempio semplificato: export class AbstractComponent { constructor(private myservice: MyService) { // Inject the service […]

Layout dell’object in caso di funzioni virtuali e ereditarietà multipla

Recentemente mi è stato chiesto in un’intervista sul layout degli oggetti con funzioni virtuali e l’ereditarietà multipla coinvolta. L’ho spiegato nel contesto di come è implementato senza l’ereditarietà multipla coinvolta (cioè come il compilatore ha generato la tabella virtuale, inserire un puntatore segreto sulla tabella virtuale in ogni object e così via). Mi è sembrato […]

Funzioni astratte in Swift Language

Mi piacerebbe creare una funzione astratta in un linguaggio veloce. È ansible? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }

Sovrascrivere le variabili di istanza di una super class

Perché non siamo in grado di sovrascrivere una variabile di istanza di una super class in una sottoclass?

È ansible sovrascrivere un metodo privato in super-class nella sottoclass?

I metodi privati ​​possono essere sovrascritti in Java? Se no, allora come funziona il seguente codice? class Base{ private void func(){ System.out.println(“In Base Class func method !!”); }; } class Derived extends Base{ public void func(){ // Is this a Method Overriding..???? System.out.println(“In Derived Class func method”); } } class InheritDemo{ public static void main(String […]