Problema em orientação de objeto

5 respostas
Conan

Estou com problemas para resolver esta problema e não sei direito onde por os valores apresentados nele:

Tendo feito análise de um sistema que calcula o valor de uma conta telefônica , encontrou-se seguinte diagrama de classes:

Pede-se:

  • Definir e implementar a classe telefone com : um construtor um método de acesso para um atributo(um get e um set para o atributo de sua escolha), os métodos Cal. Valor e Cal. ICMS.
  • Criar outra classe TestaTelefone. Dentro da mesma realizar as seguintes operações:
  • definir e criar dois objetos para esta classe: celular e residencial
  • Calcular o valor da conta o do ICMS para cada um dos objetos criados acima
  • Definir um método na classe Telefone que aponte qual a conta mais cara, celular ou residencial

Telefone

  • Cliente:String
  • Assinatura: double
  • pulsos:int
  • valor_pulso:double
  • valor:double

+Cal. Valor():void
+Cal. ICMS():double

Para telefone residencial:
valor do pulso:0.05
assinatura = 13,00

Para telefone celular:
valor do pulso:0.10
assinatura = 37,00

Cálculo do valor:= pulso * valor_pulso + assinatura
Cálculo do ICMS:= 18 % do valor

public class telefone{

private String cliente;
private double assinatura;
private int pulsos;
private double valor_pulsos;
private double valor;

public void setcliente(String clientepar){
cliente = clientepar;
}
public void setassinatura(String assinaturapar){
assinatura = assinaturapar;
}
public void setpulsos(String pulsospar){
pulsos = pulsospar;
}
public void setvalor_pulsos(String valor_pulsospar){
valor_pulsos = valor_pulsospar;
}


public void getcliente(){
return cliente;
}
public void getassinatura(){
return assinatura;
}
public void getpulsos(){
return pulsos;
}
public void getvalor_pulsos(){
return valor_pulsos;
}
public void getvalor(){
return valor;
}

}
public class testetelefone{

public static void main(String args[]){
telefone conv,cel;

conv=new telefone();
cel=new telefone();

conv.setcliente();
conv.setassiantura();
conv.setpulsos();
conv.setvalor_pulso();
conv.valor();

cel.setcliente();
cel.setassiantura();
cel.setpulsos();
cel.setvalor_pulso();
cel.setvalor();



}
}

5 Respostas

Marcio_Duran

Você não esta com um problema sobre Orientação a Objetos, é com Programação Orientado a Objetos.

neeryck

Pow!!! :shock:
Deve ter ajudado muito o cara essa resposta!!

¬¬º

Polimorphism

neeryck:
Pow!!! :shock:
Deve ter ajudado muito o cara essa resposta!!

¬¬º


Você tambem não ajudou muito ¬¬
É que o titulo ficou meio confuso, dando a entender que havia um problema com a orientação de objeto.

Você vai prescisar de um construtor na classe Telefone com as tarifas assinatura etc, para guardar esses valores como variaveis de instancia.
Então crie os métodos que calculem o custo usando uma formula matematica.
Boa sorte!

Marcio_Duran

neeryck:
Pow!!! :shock:
Deve ter ajudado muito o cara essa resposta!!

¬¬º

Não estou aqui pra ajudar, estou aqui pra fazer a pessoa sobreviver a qualquer coisa, isso implica em conscientização

airtonarantes

Olá, percebi alguns erros com relação a assinatura de alguns métodos.

public class telefone{

private String cliente;
private double assinatura;
private int pulsos;
private double valor_pulsos;
private double valor;

public void setcliente(String clientepar){
cliente = clientepar;
}
public void setassinatura(String assinaturapar){
assinatura = assinaturapar;
}
public void setpulsos(String pulsospar){
pulsos = pulsospar;
}
public void setvalor_pulsos(String valor_pulsospar){
valor_pulsos = valor_pulsospar;
}

/*
Isso nao vai funcionar, pois um metodo void nao retorna nada, o certo seria
public String  getCliente(){
      return this.cliente;
}
*/
public void getcliente(){ 
return cliente;
}

//mesmo erro
public void getassinatura(){
return assinatura;
}

//mesmo erro 
public void getpulsos(){
return pulsos;
}
//mesmo erro
public void getvalor_pulsos(){
return valor_pulsos;
}
//mesmo erro
public void getvalor(){
return valor;
}

}

Um outro erro que eu pude verificar, preste atenção como você implementou os métodos e como você está fazendo essa chamada dos métodos.

public class testetelefone{

public static void main(String args[]){
telefone conv,cel;

conv=new telefone();
cel=new telefone();

/*
na implementação do método setcliente() você definiu um parametro String, e você nao está
passando esse parametro
Deveria ser algo do tipo 
conv.setcliente("Jose da Sila Santos");
*/ 
conv.setcliente();
conv.setassiantura();
conv.setpulsos();
conv.setvalor_pulso();
conv.valor();

cel.setcliente();
cel.setassiantura();
cel.setpulsos();
cel.setvalor_pulso();
cel.setvalor();



}
}
Criado 22 de agosto de 2009
Ultima resposta 23 de ago. de 2009
Respostas 5
Participantes 5