>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Activity e classe abstrata e as concretas


Ola, boa noite pessoal, estou com uma duvida


com uma classe cliente normal, eu faço assim na activity

Cliente cliente = new Cliente();
// codigos etc

public void onClick(View arg0) {
EditText nome = (EditText) findViewById(R.id.edNomeCliente);
EditText endereco = (EditText) findViewById(R.id.edEnderecoCliente);

cliente.setNome(nome.getText().toString());
cliente.setEndereco(endereco.getText().toString());
}



Agora se eu deixar essa classe cliente , como PUBLIC ABSTRACT CLIENTE

e ter uma classe MENSALISTA


dessa forma

package com.davidaugusto.model;

public class Mensal extends Cliente {

public Mensal() {
super.getNome();
super.getBairro();
super.getEndereco();
super.getTelefone();
}

}

como eu vou chamar na ACTIVITY
esses mesmos campos anteriormente... ???

cliente.setNome(nome.getText().toString());
cliente.setEndereco(endereco.getText().toString());




3 Respostas


David

Não precisa chamar o super dos get.

Pois se você estendeu da classe abstrata ele automaticamente já possui os mesmos.

A não ser se você vai fazer algo de diferente (alguma regra de negócio) nos get e set na Mensal.

Quanto a tua dúvida, chame da mesma forma, só que agora você não pode mais instanciar a cliente, basta instanciar a mensal, que é uma cliente.




Ola Rafael Silva, obrigado

minha duvida era essa, porque eu vou ter um TIPO de cliente, entao, vou ter que instanciar diario, semanal e mensal e depois tratar em uma condição ? pois eu queria ter essas opcoes em um radiogroup...

(tinha um jeito mais facil, usando TIPO, como atributo, mas nao posso usar atributo tipo, regras O.O)




David, recomendo fortemente usar DAO e DTO.

Você chegou a ver o curso de Android Best Practice?

Usando o jeito que mostrei, vai te dar uma visão melhor e vai deixar tua aplicação mais robusta e melhor arquitetada.