Interligando classes

7 respostas
K

Ola pessoal tenho duas classes uma mãe e outra filha e gostaria de fazer uma interligação entre as duas as classes são estas aqui

import java.io.*;//biblioteca java para entrada/saida de dados
import java.lang.*;
public class CalculadoraSimples {

	   static float resul,a,b;//variavel para operação
	   static String x,y,z;//axiliares para conversão de tipos
	   static int op; //variavel para escolha de calculo
	    /*
	    * criação de um buffer de memória para aramazenamento
	    * temporario de dados
	    */
	   static BufferedReader num_a,num_b,opt;
	   
	public static void main(String args[]){
	System.out.println("1-soma 2-subtracao 3-multiplicacao 4-divisao");	
	System.out.println("Digite o numero da operacao que deseja executar ");
	opt = new BufferedReader(new InputStreamReader(System.in));
	
	
	/* antes da ultilização do bloco try-catch logo 
	 * abaixo estava dando o erro Unhandled exception 
	 * type IOException
	 * 
	 *  este erro estava dando porque o método
	 *  readLine() pode lançar uma exceção 
	 *  de IOException caso ocorra erro de
	 *  leitura de dados
	 *  
	 *  logo mais abaixo há outros dois blocos
	 *  try-catch que servem para a mesma solução
	 */
	
	try{
	x = opt.readLine();
	}
	
	catch(IOException ioe){
		ioe.printStackTrace();
	}
	
	op=Integer.parseInt(x);
	GuardaNumero();
	
	   	   
	    if(op==1){
		resul = a+b;
	    } 	
	
	    if(op==2){
		resul = a-b;
	    }
	
	    if(op==3) {
		resul = a/b;
	    }
	
	    if(op==4){
		resul = a*b;
	    }
	
	    System.out.println("O resultado do calculo equivale a"+resul);
	}
	
	/* metodo que armazena numeros digitados
	 * no teclado em um buffer para serem lidos
	 * e convertidos posteriomente para float 
	 * para serem feitos o calculos pedidos
	 */
	public static void GuardaNumero(){
		
		System.out.println("Digite o primeiro numero");
		num_a = new BufferedReader(new InputStreamReader(System.in));
		
		try{
		y=num_a.readLine();
		}
		catch (IOException ioe){
		ioe.printStackTrace(); // retorna o tipo de execeção gerada		
		}
		a=Float.parseFloat(y);
		
		
		System.out.println("Digite o segundo numero");
		num_b = new BufferedReader(new InputStreamReader(System.in));
		
		try{
		z=num_b.readLine();
		}
		catch (IOException ioe){
			ioe.printStackTrace();
		}
		
		b=Float.parseFloat(z);
	}
	
	
	
	
}

class CalculadoraCompleta extends CalculadoraSimples{
	
	float resul,a,b;
	
	void Trigonometria(){
		
		resul = a/b;
	}
	
	void Raiz(){
		System.out.println("Digite o primeiro numero");
		num_a = new BufferedReader(new InputStreamReader(System.in));
		
		try{
		y=num_a.readLine();
		}
		catch (IOException ioe){
		ioe.printStackTrace(); // retorna o tipo de execeção gerada		
		}
		a=Float.parseFloat(y);
		
		Math.sqrt(a);
	}
	
	void Potencia(){
		System.out.println("Digite o primeiro numero");
		num_a = new BufferedReader(new InputStreamReader(System.in));
		
		try{
		y=num_a.readLine();
		}
		catch (IOException ioe){
		ioe.printStackTrace(); // retorna o tipo de execeção gerada		
		}
		a=Float.parseFloat(y);
		
		
		System.out.println("Digite o segundo numero");
		num_b = new BufferedReader(new InputStreamReader(System.in));
		
		try{
		z=num_b.readLine();
		}
		catch (IOException ioe){
			ioe.printStackTrace();
		}
		
		b=Float.parseFloat(z);

		Math.pow(a,b);
	}
}

o que estou querendo disser é usar os recursos da classe CalculadoraCompleta na CalculadoraSimples

7 Respostas

BrunoBastosPJ

Se a calculadora é simples não faz sentido usar recursos da calculadora completa… vc não concorda?

G

Como assim interligar ? explique melhor.

:wink:

K

isso foi mais um força de expressão na verdade ela é completa mas tem nome de simples :wink:

guilherme

quero usar o método trigonometria da classe CalculadoraCompleta na CalculadoraSimples e os demais métodos da completa na simples

G

Mas se a calculadora completa é filha da calculadora simples… a herança não teria que ser: calculadora simples estende calculadora completa ?

K

Guilherme eu inverti os nomes das classes o que era para ser completa deveria ser a simples e vice versa … só estou querendo saber como usar os métodos da classe filha na classe mãe entendeu ???

G

Então basta instanciar a classe Filha e chamar os métodos:

ClasseFilha filha = new ClasseFilha filha(); filha.method();

K

muito obrigado guilherme !

Criado 21 de setembro de 2006
Ultima resposta 25 de set. de 2006
Respostas 7
Participantes 3