Articles of inheritance

In che modo una class derivata può richiamare il metodo privato della class 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(); […]

Favorisci la composizione sull’eredità

Favorisci la composizione sull’eredità è una frase molto popolare. Ho letto diversi articoli e alla fine ogni articolo dice usa l’ereditarietà quando c’è una relazione IS-A pura tra le classi. Un esempio da questo articolo : Qui tra Apple e Fruit c’è una chiara relazione IS-A, ad esempio Apple IS-A Fruit, eppure l’autore lo ha […]

Costruttori e ereditarietà predefiniti in Java

Ho una domanda sui costruttori e sull’ereditarietà predefiniti in Java. In genere, se si scrive una class e non si include alcun costruttore, Java fornisce automaticamente un costruttore predefinito (uno senza parametri), che inizializza tutte le variabili di istanza della class (se presenti) con alcuni valori predefiniti (0, null o falso). Se si scrive un […]

Accesso a campi ereditati privati ​​tramite riflessione in Java

Ho trovato un modo per ottenere membri ereditati tramite class.getDeclaredFields(); e accesso ai membri privati ​​tramite class.getFields() Ma sto cercando campi ereditati privati. Come posso raggiungere questo objective?

Polimorfismo statico C ++ (CRTP) e utilizzo di typedef da classi derivate

Ho letto l’ articolo di Wikipedia sul modello di template curiosamente ricorrente in C ++ per fare il polimorfismo statico (leggi: compile-time). Volevo generalizzarlo in modo da poter modificare i tipi di ritorno delle funzioni in base al tipo derivato. (Sembra che dovrebbe essere ansible poiché il tipo base conosce il tipo derivato dal parametro […]

Ereditarietà di JavaScript: Object.create vs new

In JavaScript qual è la differenza tra questi due esempi: Prerequisiti: function SomeBaseClass(){ } SomeBaseClass.prototype = { doThis : function(){ }, doThat : function(){ } } Esempio di successione A che utilizza Object.create: function MyClass(){ } MyClass.prototype = Object.create(SomeBaseClass.prototype); Esempio di successione B che utilizza la nuova parola chiave function MyClass(){ } MyClass.prototype = new […]

Cosa significa che Javascript è un linguaggio basato su prototipi?

Uno dei principali vantaggi di Javascript è che si tratta di un linguaggio basato su prototipi. Ma cosa significa che Javascript è basato sul prototipo e perché è un vantaggio?

Come estendere la funzione con le classi ES6?

ES6 consente di estendere oggetti speciali. Quindi è ansible ereditare dalla funzione. Tale object può essere chiamato come una funzione, ma come posso implementare la logica per tale chiamata? class Smth extends Function { constructor (x) { // What should be done here super(); } } (new Smth(256))() // to get 256 at this call? […]

basato sul prototipo e sull’eredità basata sulla class

In JavaScript, ogni object è allo stesso tempo un’istanza e una class. Per fare ereditarietà, puoi usare qualsiasi istanza di object come prototipo. In Python, C ++, ecc. Ci sono classi e istanze, come concetti separati. Per fare ereditarietà, devi usare la class base per creare una nuova class, che può quindi essere usata per […]

Come implementare l’ereditarietà nel modello prototipo di JS Revealing?

Come posso ereditare / estendere le classi che usano il pattern Revealing Prototype? E c’è un modo per protected variabili e le funzioni private ? Esempio di object di base: myNameSpace.Person = function() { this.name= “”; this.id = 0; }; myNameSpace.Person.prototype = function(){ var foo = function(){ //sample private function }; var loadFromJSON = function […]