Appunti + Esercizio sulla retta

Ereditarietà

public class Quadrato extends Geometria{}

ovvero la sottoclasse Quadrato acquisisce (extends) tutti i metodi e gli attributi della superclasse Geometria.

Una classe può ereditare una sola superclasse ma può essere ereditata illimitatamente.

I metodi ereditati dalla superclasse possono essere ridefiniti nella sottoclasse facendo così un operazione di Overriding.

Perchè usare l’ereditarietà? Per eliminare il codice duplicato e per definire un protocollo comune a tutte le superclassi

 

Interfacce

Esiste un tipo di classe chiamato interfaccia che è dotato solo di metodi astratti, ovvero di metodi con la sola dichiarazione e (quindi senza istruzioni).

 

NOTE:

  • una classe può ereditare (extends) una sola classe
  • una classe può implementare (implements) più interfacce

Esercizio sulla retta

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class DisegnaRetta extends JPanel{
     @Override public void paintComponent(Graphics g){
         //g.setColor(Color.red);
         int w=this.getWidth();
         int h=this.getHeight();
         g.setColor(Color.red);
         g.drawLine(w,h/2,w,h/2);
         g.drawLine(w/2, 50, w/2, 50);
         g.setColor(Color.blue);
         g.drawLine(w/2, 50, w/2, h/2);
     }
}

 

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class TestaRetta {
public static void main(String args[]){
    DisegnaRetta r1=new DisegnaRetta();
    JFrame f1=new JFrame("Prova Retta");
    JButton b1=new JButton("traccia perpendicolare");
    f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f1.setSize(500,500);
    f1.add(r1);
    f1.add(BorderLayout.SOUTH,b1);
    f1.setVisible(true);
}
}

Commenti