DIFFERENZE TRA CLASSI ASTRATTE E INTERFACCE

INDICE TUTORIAL

Differenze tra classi astratte e interfacce

Entrambe permettono di definire un concetto senza dover conoscere i dettagli di una classe, dettagli che saranno implementati dai figli.

Difference between Abstract class and Interface in Java 8 | Java67

Differenze sintattiche principali:

  • Una classe astratta, oltre a metodi astratti, può contenere dati e metodi non astratti. Una interfaccia no.
  • Una classe astratta può avere un costruttore. Una interfaccia no.
  • In una interfaccia si possono definire solo costanti.
  • In una interfaccia i metodi la visibità sarà public in automatico (c’è anche la possibilità di usare quella di default ma i figli saranno “costretti” a  fare l’override dei metodi con public, anche se sono nello stesso package).
Leggi tutto “DIFFERENZE TRA CLASSI ASTRATTE E INTERFACCE”

Interfacce Java in 5 Minuti

INDICE TUTORIAL

Interfacce

Le interfacce in java ( e in generale nei linguaggi OOP), sono entità simili a classi, ma i metodi non hanno corpo. Servono a dare dei comportamenti standard a tutte le sottoclassi. Vengono definite tramite l’uso della parola interface al posto della keyword class, nella creazione di una classe.

Come concetto è molto simile ad extends, ma una sottoclasse in java può estendere soltanto un’unica superclasse, mentre una classe può implementare infinite interfaccie (ereditarietà multipla).

Leggi tutto “Interfacce Java in 5 Minuti”

Classi Astratte

classe astratta

Indice Tutorial

Una classe astratta è simile a una normale classe: può avere attributi e metodi, ma è caratterizzata dalla parola chiave abstract. Non può essere istanziata e la sua implementazione è demandata alle sottoclassi;

Esempio:

public abstract class Animale {
    //campi
    private boolean vivo=true;
    //metodi
    public boolean isVivo() { return this.vivo; }
   
}

La classe “animali” è una categoria concettuale, non esiste “il generico animale”, ma solo animali specifici;

Leggi tutto “Classi Astratte”

Ereditarietà In Java

ereditarieta in java

Indice Tutorial

Durante la fase di analisi e progettazione del software  capita spesso di notare delle similitudini tra classi: due o più classi hanno dei campi e dei metodi in comune.

Nasce quindi la necessità di avere una classe “padre”, in cui mettere le proprietà in comune, da cui far “discendere” le altre classi.

Questo meccanisco, nel paradigma di programmazione orientato ad oggetti, è noto come ereditarietà.

Leggi tutto “Ereditarietà In Java”

This

Indice Tutorial

La parola chiave this in Java viene utilizzata per riferirsi, all’interno di un metodo o di un costruttore, agli attributi o metodi locali.

Esempio

public class Prova {
	
	String nome;
    
	public void hello(String n)
	{
		nome = n;// riga 5
this.nome = n;// riga 6
	}
	
}

La riga 5 e la riga 6 sono equivalenti. Il contenuto della variabile n viene salvato nella variabile nome in entrambi i casi.


(altro…)

Ricorsione In Java

Indice Tutorial

La ricorsione è una tecnica di programmazione che permette di creare dei metodi che, durante la loro esecuzione, chiamano, direttamente o indirettamente, se stessi, fino a quando una condizione viene rispettata, terminando questo ciclo di auto – chiamate.

Quando un metodo invoca sè stesso, la JVM esegue le seguenti azioni:

  1. sospende l’esecuzione del metodo invocante
  2. esegue il metodo invocato fino alla sua conclusione
  3. riprende l’esecuzione del metodo invocante dal punto in cui era stata sospeso.

Per poter applicare questa tecnica, si deve decomporre un problema in problemi dello stesso tipo, ma di dimensione più piccola, fino a raggiungere una dimensione minima che da un risultato finito.

Leggi tutto “Ricorsione In Java”

Web Services SOAP in Java

I Web Service (in italiano Servizi Web) hanno un ruolo importante nell’architettura dei software moderni del web.  La diffusione esplosiva del web ha portato alla creazione di una grande quantità di infrastrutture di rete e server, e un Web Services sono software sviluppati appunto per facilitare l’interazione tra macchine tramite la rete, quindi tra macchine non tra umani.

Un client (desktop, web, mobili o embedded)  invia la richiesta su Internet e un server riceve la richiesta, la elabora e restituisce una risposta.  

Una caratteristica molto importante è che il client può essere scritto in qualsiasi linguaggio di programmazione (java, ASP, etc). Stessa cosa vale per il web service.

Questo perché i dati vengono scambiati in un formato comune a tutte le tecnologie: il client non sa come funziona il server e viceversa, ma entrambi lavorano insieme attraverso un vocabolario comune.

Leggi tutto “Web Services SOAP in Java”