Domanda

Si spera che questa dovrebbe essere una semplice domanda. :)

Sto usando Pharo / Seaside. Ho usato la capacità di refactoring nell'IDE per rinominare e rimuovere alcuni dei miei metodi e lezioni. Fin qui tutto bene.

Tuttavia, ho difficoltà a rimuovere un metodo che sovrascrive la classe genitore. Ad esempio, ho una classe "myclass" che sottocla "wacomponent". Ho creato uno "stile" che sovrascrive un metodo nella classe principale.

Ho deciso che non ho davvero bisogno di scavalcare lo "stile" dopo tutto e voglio refactor Method> Rimuovi "stile". A questo punto ricevo la seguente prompt "Possibile chiamata allo stile in Wapresenter. Sfoglia i riferimenti?"

Come procedo? Voglio solo il metodo "Style" del Super e non il mio sovraccarico.

Grazie molto!

È stato utile?

Soluzione

Quando si tenta di rimuovere un metodo; con il browser di refactoring, Omnibrowser o il browser standard; Il sistema ti avverte se ci sono mittenti di quel messaggio nell'immagine. Questo ti dà l'opportunità di vedere le possibili ramificazioni della rimozione. Non è perfetto perché a) in un sistema dinamico, non può essere sicuro che il ricevitore sia un'istanza della tua classe e b) non cattura i mittenti usando #Perform:

Nel tuo caso, il messaggio sembra un po 'confuso. Inoltre, in Pharo 1.3, sembra non rimuovere il metodo, indipendentemente da ciò che selezioni! Ma non vi è alcun danno nel rimuoverlo direttamente tramite il browser (CMD-X in Omnibrowser su Mac o tramite il menu) perché qualsiasi chiamata a questo metodo andrà alla superclasse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top