Executar método do ancestral
|
|
Boa Noite, Caros tem como executar um método da ancestral e excutar tb na classe que herda a ancestral e aí tenho o controller filho Testei aqui e dessa forma só será executado o “metodoQualquer” da classe filha. Abraços … Muito Grato Ps: se a perguntar for muito banal, peço compressão … =D |
|
|
chame super dentro do método da subclase: |
|
|
Aee Fernando!!! |
|
|
To ligado que esse tópico é ancião mas creio que continua atual.. Deixando mais complexo, eu estou no FilhoController invocando o método de instancia a e de dentro do método a de filho, eu desejo chamar o método do Pai:metodoQualquer Estou falando besteira? Teria como faze-lo? |
|
|
Grande Fabiano =D Não resolve chamar o método da classe filha, que vai chamar o da classe pai por tabela? Se isso não resolver, acho que só com muita gambi… talvez se der um undef no método do filho vc consiga chamar o do pai. |
|
|
Fabiano: Tu quer chamar o método de instância da classe Pai que foi sobreposto pela classe filha? É isso ou me perdi no meio? Algo assim? |
|
|
Luizão: Simmm.. usar undef é uma solução, porém se perde o método =P Mere: é quase isso, mas tem tb o kicker: Então a idéia seria chamar algo do tipo super.outro, infelizmente não funciona |
|
|
Fabiano: Hmmmm… só se tu fizer um alias do método da superclasse. |
|
|
Puts Mere, eu não teria uma frase melhor que: “carai que zona!” uhaeuasesauesauheusahe Acertou na mosca, só não posso dizer que é uma ótima solução, porque é um péssimo problema =P []s |
|
|
Inheritance é uma bosta. Vai de mixin! ;) |
|
|
Fabiano, se vc realmente precisa fazer isso, acho que é um indício forte que vc deveria estar usando composição em vez de herança. Aí é só delegar a chamada =). |
|
|
[opinião própria] Mixins de Ruby são uma resposta genial ao caso da herança múltipla e interfaces. Deixe eu fazer uma breve correção: Herança feita por motivos errados é uma bosta. Vai de composição. |
|
|
Sim, vdd. As duas são praticamente intercambiáveis, salvo que vc nao pode descender de mais de uma classe e module ñ tem super. |
|
|
Como assim? Dá pra incluir módulos em módulos tb: |
|
|
Modules, ao meu ver (e a idéia associada mixins) são os substitutos ideais das interfaces (do javaworld). Código realmente reaproveitável vai lá. Definir um comportamento que possa ser herdado por dezenas de classes. Olha só o Enumerable, tudo o que tu tem de fazer é implementar each. Aí tu ganha dezenas de métodos dis grátis. =) |

