Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Classi - Wikipedia

Classi

Da Wikipedia, l'enciclopedia libera.

La classe , in programmazione, è un ADT (Abstract Data Type - tipo di dato astratto) che costituisce la base della programmazione ad oggetti. Una classe racchiude in se sia dati (anche assai eterogenei, sia del livello built-in che appartenenti ad altre classi), che il codice (metodi o funzioni) che andrà ad agire su di essi.

I dati all'interno di una classe possono essere modificati solo attraverso i metodi o funzioni che tale classe mette a disposizione per la loro modifica.

I metodi di una classe, quindi, costituiscono l'interfaccia che presenta una classe con l'ambiente esterno. Essi proteggono i dati contenuti all'interno di una classe da loro manipolazioni errate a causa di fraintendimenti sui ruoli delle variabili modificabili sia all'interno che all'esterno delle istanze della classe.

Un programmatore che utilizza una classe realizzata in precedenza, non deve conoscere la sua implementazione interna per poterla utilizzare ma basta che conosca le prestazioni dei metodi che essa mette a disposizione. Ciò permette, nel corso di uno sviluppo di un programma per stadi successivi, di cambiare l'implementazione interna di una classe senza che si debbano modificare i programmi che facevano uso di essa. Questo concetto è conosciuto come trasparenza.

Il tipo di dato classe, quindi, si presta molto bene a rappresentare l'astrazione di un tipo di oggetti reali ed infatti all'interno dei linguaggi di programmazione ad oggetti viene ampiamente usato per dichiarare oggetti.
Data una classe, possono esser definiti più oggetti della stessa classe ed ognuno di esso viene detto istanza della classe o oggetto della classe. Ad esempio per controllare il tracciamento di triangoli in un pacchetto di grafica può essere conveniente definira una classe 'triangolo' che prevede la possibilità di dare un colore alla sua area interna; nella procedura si possono definire più istanze di tale classe e tracciare triangoli blu, triangoli verde, triangoli rossi etc.

Un esempio di Classe in java può essere questo

Si nota le varie caratteristiche della programmazione ad oggetti (ereditarietà, polimorfismo e livello di visibilità delle variabili )

public abstract class quadrupede {
        protected final double c = 3D;
        protected double peso;
        protected static int quantita=0;

        public quadrupede(){
                quantita++;
        }

        public abstract double getValore();
        public double getPeso () {return (peso);}
        public int getTotale () {return (quantita);}
}
class cavallo extends quadrupede{
        protected String razza;
        protected boolean domato;

        public cavallo(String myRazza,boolean myDomato,double myPeso){
                super();
                razza = new String(myRazza);
                domato = myDomato;
                peso = myPeso;
        }
        public double getValore(){return(c+peso);}
}
abstract class canide extends quadrupede{
        protected double lunghezza;
        
        public canide(){
                super();
        }
        
        public double getLunghezza(){return(lunghezza);}        
}
class cane extends canide{
        protected pedigree ped;
        
        public cane(pedigree myPed, double myLung, double myPeso){
                        super();
                        lunghezza = myLung;
                        ped = myPed;
                        peso = myPeso;
        }
        
        public double getValore(){return(2+c+10*lunghezza+ped.getNumAntenati());}
        
} 
class lupo extends canide{
        
        public lupo (double myLung, double myPeso){
                        super();
                        lunghezza = myLung;
                        peso = myPeso;
        }
        
        public double getValore(){return(Math.pow(c+peso,7)*lunghezza/0.2);}

        public String toString(){return("Lupo ["+lunghezza+", "+peso+", "+getValore()+"]");}
        
} 
class yorkshire extends cane{
        private char tipoNaso;
        
        public yorkshire (pedigree myPed, double myLung, double myPeso,char myTipoNaso){
                        super(myPed,myLung,myPeso);
                        tipoNaso=myTipoNaso;
        }
        public String toString(){return("Yorkshire ["+ped+", "+lunghezza+", "+peso+", "+getValore()+"euro]");}
}


poi implementeremo la classe con una funzione main

public class principale{
        public static void main (String [] args){
                int i;
                quadrupede [] animali = new quadrupede[200];
                //Generazione Casuale
                for( i=0; i<animali.length; i++){
                        switch ((int)(Math.random()*4)){
                                case 0 : animali[i] = new yorkshire(GeneraPed(),Math.random()*50,Math.random()*30,(char)(Math.random()*255));
                                        break;
                                case 1 : animali[i] = new cane(GeneraPed(),Math.random()*50,Math.random()*30);
                                        break;
                                case 2 : animali[i] = new lupo(Math.random()*50,Math.random()*30);
                                        break;
                                case 3 : animali[i] = new cavallo("razza",(Math.random()<.5),Math.random()*300);
                                        break;
                        }
                }
                //Stampa il ToString di oggi oggetto Stampato
                for( i=0; i<animali.length; i++) System.out.println(animali[i]);
                //Ricerca della Casella del Valore Massimo
                double max = animali[0].getValore();
                int maxInd = 0;
                for(i=1; i<animali.length; i++)
                        if (max < animali[i].getValore()){
                                         max = animali[i].getValore();
                                         maxInd = i;
                        }  
                
                System.out.println("Animale + prezioso è "+ animali[maxInd]);
                //ordinamento crescente e e stampa in Ordine
                yorkshire []y = new yorkshire[200];
                int x=0;
                for(i=0; i<animali.length; i++)
                        if(animali[i] instanceof yorkshire )
                                y[x++]=(yorkshire)(animali[i]);
                yorkshire app;
                for(i=0; i<x; i++)
                        for(int z=0; z<x; z++)
                                if (y[i].getPeso()<y[z].getPeso()) {
                                        app = y[z];
                                        y[z]= y[i];
                                        y[i]= app;
                                }
                for( i=0; i<x; i++) System.out.println(y[i]);
                //Stampa gli oggetti creati fino a quel momento
                System.out.println(animali[12].getTotale());
                
        }
        static pedigree GeneraPed (){
                char [] cod = new char [200];
                for(int i=0; i<cod.length; i++) cod[i]=(char)(Math.random()*255);
                return new pedigree(cod,(int)(Math.random()*255),"11111");
        }
}
Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com