Domande con tag 'abstract-class'

2
risposte

È buona norma mettere i metodi astratti in una classe astratta anche se i metodi sono già definiti nella sua interfaccia?

Diciamo che abbiamo un'interfaccia Foo con un metodo "public void someMethod ()", e abbiamo una o più classi astratte che "implementano" Foo ma non necessariamente forniscono un'implementazione per someMethod (). Sarebbe un buon design metter...
posta 05.01.2015 - 13:54
2
risposte

OOP: attivazione di tipi polimorfici e mantenimento dello stato in tutto il flusso di lavoro

Livello alto: Penso che il mio modello di progettazione sia difettoso. Nonostante implementando il polimorfismo, mi trovo a fare affidamento su istruzioni switch di grandi dimensioni basate sul tipo derivato all'interno della mia applicazione...
posta 30.03.2017 - 00:30
1
risposta

Principio di sostituzione di Liskov con classe genitore astratta

Il principio di sostituzione di Liskov si applica alle gerarchie di ereditarietà in cui il genitore è una classe astratta allo stesso modo se il genitore è un lezione di cemento? La pagina di Wikipedia elenca diverse condizioni che devono e...
posta 06.06.2014 - 18:12
3
risposte

Quando e perché dovresti inserire un nuovo metodo in un'interfaccia invece di una classe base astratta?

Mi è stata posta la seguente domanda in un'intervista: "Qual è la necessità di un'interfaccia quando puoi avere un metodo astratto all'interno di una classe astratta?" Di cui non sapevo la risposta. Potresti fornire un esempio per quale motiv...
posta 07.02.2016 - 16:04
5
risposte

Design Pattern per metodi astratti interdipendenti

Voglio modellare alcune strutture matematiche. Per questo scopo voglio definire un'interfaccia, una classe astratta per algoritmi di uso generale e implementazioni concrete di quella classe (ne ho in mente tre). Ora sorge la situazione che gl...
posta 14.10.2016 - 13:58
2
risposte

Mi aspettavo che l'utente API implementasse un UnsupportedOperationException ok?

Sto scrivendo un gestore per il download / l'importazione di dati. Dopo aver inserito i dati nel database, è possibile chiamare diversi lavori di importazione, ma solitamente è solo uno. Quindi ci sono due metodi per ottenere i lavori di importa...
posta 09.12.2016 - 16:45
2
risposte

Utilizzo di NotImplementedError anziché di classi astratte

MyBase impone l'implementazione del metodo f() in tutti i bambini. Questo può essere ottenuto utilizzando abc.ABCMeta per rendere f() un abstractmethod : import abc class MyBase(metaclass=abc.ABCMeta): @abc.abst...
posta 31.07.2016 - 11:03
3
risposte

Come decidere, dovrei mettere i metodi per astrarre la classe o per interfacciarlo?

Sto scrivendo un'app per cui è necessario disporre di una fase di registrazione generica. Deve essere in grado di fare alcune cose specifiche (io uso l'interfaccia per questo) e deve essere un elemento visivo (di Xamarin, non importa, però), dic...
posta 15.09.2016 - 09:47
2
risposte

C'è qualche ben nota preoccupazione sull'avere classe astratta con pochi metodi astratti? [chiuso]

Mi è stato chiesto di spiegare perché può essere brutto avere una classe astratta che implementa la maggior parte dei metodi (come un caso estremo, solo un metodo astratto) e ha molte sottoclassi. Oltre a dover guardare un sacco di codice se...
posta 13.04.2016 - 13:01
1
risposta

Classe scheletrica / astratta solo per memorizzare lo stato condiviso?

Dato un'interfaccia per il modello di strategia in questo modo: public interface Strategy { public Output execute(Input input); public Output getLastExecutionOutput(); } se voglio memorizzare l'ultimo risultato di esecuzione di qualsias...
posta 15.11.2014 - 07:28