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
Posta un commento