Da come
possiamo notare le classi che riguardano gli operatori logici
sono tutte uguali, differiscono solo per il nome e per il
metodo "calculateOuputs" che cambia in base al tipo
di operatore selezionato
Variabili di istanza
URL: String
in questa variabile risiede sotto forma di stringa l'url di
dove si trova l'immagine dell'operatore
imgAND: Picture
qui risiede l'oggetto "Picture" al cui interno è
contenuta l'immagine
blockType:
int
specifica il tipo di blocco
Metodi
Il costruttore della classe non fa altro che chiamare il
costruttore della superclasse, con i parametri immessi setta
le coordinate di dove dovrà essere posizionata
l'immagine
e in base al tipo di blocco definisce la grandezza del
riquadro che dovrà occupare
calculateOutputs: void
questo metodo calcola l'ouput del relativo operatore in base
agli input inseriti
Strumenti
Anche se dal punto di vista logico queste classi non hanno
molto a che vedere con le classi precedentemente viste,
dal punto di vista del codice esse sono molto simili
infatti anch'esse hanno come super classe la
"CircuitComponent" che è la super classe degli
operatori logici.
Illustreremo adesso il metodo pił importante per le classi SWITCH e BUTTON.
Metodi
SwitchState(): void
questo metodo si occupa di far invertire il valore di
verità, nella classe BUTTON solo in modo temporaneo
(fin quando il bottone resta premuto),
mentre nella classe SWITCH in
modo permanente (per ulteriori spiegazioni sul
funzionamento degli oggetti BUTTON e SWITCH cliccare
qui).