Articles of oop

Perché una class derivata non può chiamare la funzione membro protetta in questo codice?

#include class Base { protected: void somethingProtected() { std::cout << "lala" << std::endl; } }; class Derived : public Base { public: void somethingDerived() { Base b; b.somethingProtected(); // This does not compile somethingProtected(); // But this is fine } }; int main() { Derived d; d.somethingDerived(); return 0; } Ho pensato che forse solo […]

Perché sia ​​la class astratta che l’interfaccia esistono in C #?

Perché sia ​​la class astratta che l’interfaccia esistono in C # se possiamo ottenere la caratteristica dell’interfaccia rendendo astratti tutti i membri della class. È perché: L’interfaccia esiste per avere ereditarietà multipla Ha senso avere un’interfaccia perché la funzione CAN-DO dell’object deve essere inserita in una class astratta di base piuttosto dell’interfaccia. Si prega di […]

Progettazione di database SQL per rappresentare la gerarchia di classi OO

Sono in procinto di convertire una gerarchia di classi da memorizzare in un database SQL. Pseudo codice originale: abstract class Note { int id; string message; }; class TimeNote : public Note { time_t time; }; class TimeRangeNote : public Note { time_t begin; time_t end; }; class EventNote : public Note { int event_id; […]

Ombre vs Sovraccarichi in VB.NET

Quando abbiamo una new in C #, che personalmente vedo solo come soluzione alternativa per sostituire una proprietà che non ha una dichiarazione virtuale / sovrascrivibile, in VB.NET abbiamo due “concetti” Shadows e Overloads . In tal caso preferisci l’uno all’altro?

Come si ottiene un riferimento alla class che racchiude da una class interna anonima in Java?

Attualmente sto creando un riferimento esplicito a questo nella class esterna in modo che io abbia un nome a cui fare riferimento nella class interna anonima. C’è un modo migliore per farlo?

Interfaccia Segregation Principle: programma su un’interfaccia

Stavo leggendo su SOLID e altri principi di progettazione. Pensavo che l’ISP fosse lo stesso di “Programma per un’interfaccia, non un’implementazione”. Ma sembra che questi siano principi diversi? C’è una differenza?

Qual è la differenza tra metodi statici in una class non statica e metodi statici in una class statica?

Ho due classi di class A e di class B: static class ClassA { static string SomeMethod() { return “I am a Static Method”; } } class ClassB { static string SomeMethod() { return “I am a Static Method”; } } Voglio sapere qual è la differenza tra ClassA.SomeMethod(); e ClassB.SomeMethod(); Quando è ansible accedere […]

Gli oggetti dovrebbero cancellarsi in C ++?

Ho trascorso gli ultimi 4 anni in C #, quindi sono interessato alle attuali best practice e schemi di progettazione comuni in C ++. Considera il seguente esempio parziale: class World { public: void Add(Object *object); void Remove(Object *object); void Update(); } class Fire : Object { public: virtual void Update() { if(age > burnTime) […]

Perché una class Java non può essere dichiarata come statica?

Sto cercando di scoprire perché la class non può essere creata come statica? Piace: public static class Qwert{ public static void main(String args[]){ int x = 12; while(x<12){ x–; } System.out.println(" the X value is : "+ x); } }

Perché i campi pubblici sono più veloci delle proprietà?

Stavo Vector3 in XNA e ho visto che la class Vector3 campi pubblici anziché proprietà. Ho provato un rapido benchmark e ho scoperto che, per una struct la differenza è piuttosto drammatica (aggiungendo due vettori insieme a 100 milioni di volte hanno preso 2.0s con proprietà e 1.4 secondi con campi). Per un tipo di […]