Não consegue instanciar objeto

2 respostas
C

Estou tentando instanciar o objeto, de Quadirlateral pra trapezoid mas não consigo algém pode me ajudar.

public class Quadrilateral extends Object{
    protected double x,y;
    
    /** Creates a new instance of Quadrilateral */
    public Quadrilateral() {
        
        setQuadrilateral(0,0);
    }
    
    public void setQuadrilateral( double x, double y){
        
        setX( x);
        setY( y);
    }
    
    public void setX( double xx){
        
         x = ( xx >= 0 ? xx : 0);
        
    }
    
     public void setY( double yy){
        
         y = ( yy >= 0 ? yy : 0);
        
    }
    
    public double getX(){
        
        return x;
    }
    
    public double getY(){
        
        return y;
    }
    
    public double area(){
        
        return x * x * y * y;
    }
    public String toString(){
        
        return "[" + x + ", " + y + "]";
    }
}
public class Trapezoid extends Quadrilateral{
	protected double x;
	protected double y;
	
	public Trapezoid(){
	
		x = super.getX();
		y = super.getY();
	}
	
	public double area(){
	
		return (x + y)/2;
		
	}
       
	public String toString(){
        
		return (super.toString());
	}
  
}

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Areas extends JFrame{
    private Quadrilateral quadrilateral;
    private Trapezoid trapezoid;
    private JLabel xLabel, yLabel;
    private JTextField xField, yField,resultField, resultField1;
    private JButton exitButton;
        
    /** Creates a new instance of Areas */
    public Areas() {
        
        super( "Área");
        
        quadrilateral = new Quadrilateral();
        trapezoid = new Trapezoid();
        
        ActionEventHandler handler = new ActionEventHandler();
        
        Container container = getContentPane();
        container.setLayout( new FlowLayout() );
        
        xLabel = new JLabel("Coordenada x ");
        xField = new JTextField(10);
        xField.addActionListener( handler);
        container.add( xLabel);
        container.add( xField);
        
        yLabel = new JLabel("Coordenada y ");
        yField = new JTextField(10);
        yField.addActionListener( handler);
        container.add( yLabel);
        container.add( yField);
        
        resultField = new JTextField(20);
        resultField.setEditable( false);
        container.add( resultField);
        
        resultField1 = new JTextField(20);
        resultField1.setEditable( false);
        container.add( resultField1);
        
        exitButton = new JButton("Sair");
        exitButton.addActionListener( handler);
        container.add( exitButton);
    }
    
    public void resultTime(){
        
        resultField.setText("Quadrilateral: " + quadrilateral.toString() + " Area: " + quadrilateral.area());
        resultField1.setText(" Trapézio: " + trapezoid.toString()+ " Area: " + trapezoid.area());
    }
    
    public static void main( String args[]){
        
        Areas window = new Areas();
        
        window.setSize(250, 170);
        window.setVisible( true);
    }
    
    private class ActionEventHandler
            implements ActionListener{
            
        public void actionPerformed( ActionEvent event){
            
            if ( event.getSource() == exitButton)
                System.exit(0);
            
            else if ( event.getSource() == xField){
                quadrilateral.setX(
                       Double.parseDouble( event.getActionCommand() ));
                
            }
            
            else if ( event.getSource() == yField){
                quadrilateral.setY(
                        Double.parseDouble( event.getActionCommand() ));
                
            }
            
            resultTime();
                
            }
        }
    }

2 Respostas

danieldestro

Quadrilateral q = new Quadrilateral(); // OK
Quadrilateral q2 = new Trapezoid(); // OK
Trapezoid t = new Quadrilateral(); // NÃO PODE!

S

para instanciar objetos usa-se:

nome_classe + nome_referencia = new nome_classe();

Quadrilateral quadrilateral = new Quadrilateral();
Trapezoid trapezoid = new Trapezoid();

Abraxxxxxxx

Criado 4 de fevereiro de 2005
Ultima resposta 5 de fev. de 2005
Respostas 2
Participantes 3