Class Contatto

java.lang.Object
  extended by Contatto
All Implemented Interfaces:
java.lang.Comparable<Contatto>
Direct Known Subclasses:
ContattoAmico

public abstract class Contatto
extends java.lang.Object
implements java.lang.Comparable<Contatto>

La classe astratta Contatto rappresenta un contatto per una rubrica telefonica.
Un'istanza della classe Contatto ha la forma (persona, telefono). Il telefono va rappresentato come stringa in quanto un numero telefonico può iniziare con lo zero.
La classe è astratta, quindi non è possibile costruire istanze. Istruzioni del tipo

 
     Contatto cont = new Contatto("Mario", "Bianchi", "02556976"); 
    
danno errore in compilazione.
Per generare istanze occorre definire sottoclassi concrete della classe Contatto. I costruttori della classe Contatto sono utilizzabili nelle sue sottoclassi.

Dati due contatti c1 =(persona1,telefono1) e c2=(persona2,telefono2) diciamo che:
La classe implementa l'interfaccia Comparable<Contatto>, quindi deve definire un metodo
    public int compareTo(Contatto cont)
per confrontare il contatto che esegue il metodo con l'argomento; l'ordinamento va fatto in base alle definizioni date sopra.
Per confrontare due stringhe in base all'ordinamento lessicografico si può usare il metodo compareTo della classe String.


Constructor Summary
Contatto(Persona persona, java.lang.String tel)
          Costruisce un nuovo contatto in cui la persona e il numero di telefono sono specificati dagli argomenti.
Contatto(java.lang.String nome, java.lang.String cognome, java.lang.String tel)
          Costruisce un nuovo contatto in cui nome e cognome della persona e il numero di telefono sono specificati dagli argomenti.
 
Method Summary
 int compareTo(Contatto cont)
          Confronta il contatto che esegue il metodo con il contatto specificato dall'argomento in base alle definizioni date sopra.
 boolean equals(Contatto cont)
          Restituisce true se e solo se il contatto che esegue il metodo è uguale al contatto specificato dall'argomento rispetto alla definizione data sopra.
 java.lang.String getCognome()
          Restituisce il cognome della persona nel contatto che esegue il metodo.
 java.lang.String getNome()
          Restituisce il nome della persona nel contatto che esegue il metodo.
 Persona getPersona()
          Restituisce la persona nel contatto che esegue il metodo.
 java.lang.String getTelefono()
          Restituisce il numero di telefono nel contatto che esegue il metodo.
 java.lang.String toString()
          Restituisce una stringa che descrive il contatto che esegue il metodo.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Contatto

public Contatto(Persona persona,
                java.lang.String tel)
Costruisce un nuovo contatto in cui la persona e il numero di telefono sono specificati dagli argomenti.


Contatto

public Contatto(java.lang.String nome,
                java.lang.String cognome,
                java.lang.String tel)
Costruisce un nuovo contatto in cui nome e cognome della persona e il numero di telefono sono specificati dagli argomenti.

Method Detail

getPersona

public Persona getPersona()
Restituisce la persona nel contatto che esegue il metodo.


getNome

public java.lang.String getNome()
Restituisce il nome della persona nel contatto che esegue il metodo.


getCognome

public java.lang.String getCognome()
Restituisce il cognome della persona nel contatto che esegue il metodo.


getTelefono

public java.lang.String getTelefono()
Restituisce il numero di telefono nel contatto che esegue il metodo.


toString

public java.lang.String toString()
Restituisce una stringa che descrive il contatto che esegue il metodo.

Overrides:
toString in class java.lang.Object

equals

public boolean equals(Contatto cont)
Restituisce true se e solo se il contatto che esegue il metodo è uguale al contatto specificato dall'argomento rispetto alla definizione data sopra.


compareTo

public int compareTo(Contatto cont)
Confronta il contatto che esegue il metodo con il contatto specificato dall'argomento in base alle definizioni date sopra.

Specified by:
compareTo in interface java.lang.Comparable<Contatto>
Returns:
Un numero negativo se il contatto che esegue il metodo precede il contato cont specificato dall'argomento, 0 se i due contatti sono uguali, un numero positivo se cont precede il contatto che esegue il metodo.