Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-01-2003, 15:19   #1
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
[C#]Interfacce

A che servono le interfaccie?
Da quel che ho capito dovrebbero essere classi astratte.
Ma a cosa servono????????'

Chi mi posta un esempio



Ciao&Tnk
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2003, 18:31   #2
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
ap
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 13:22   #3
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Re: [C#]Interfacce

ap
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 20:06   #4
atragon
Senior Member
 
L'Avatar di atragon
 
Iscritto dal: Sep 2000
Messaggi: 886
Le interfacce sono molto simili a classi astratte con tutti i membri astratti. Sono utili nello sviluppo di classi che possono condividere le caratteristiche pur non facendo parte della medesima gerarchia. In C# non esiste l'ereditarietà multipla ma è possibile ereditare da più interfacce.
__________________

1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. Learn Falcon language sul sito ufficiale e sul mio
RIP NBA3D
atragon è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 20:10   #5
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
mi fai un esempio di cod pratico???
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 20:20   #6
atragon
Senior Member
 
L'Avatar di atragon
 
Iscritto dal: Sep 2000
Messaggi: 886
E va bene....continuo a ritenere che leggere del gran codice senza prima studiarsi le basi sia un pessimo metodo...cmq, magari tu ti trovi meglio così...
Codice:
using System;
interface somma // questa è l'interfaccia
{
int conta(int dati);
}
public class calcola: somma // definisco la classe a partire dall'interfaccia
{
public int conta(int dati)
{
int x = 10 + dati;  // implemento il metodo
return x;
}
}
class test
{
public static void Main()
{
calcola som = new calcola();
int y = som.conta(3);
Console.WriteLine("Somma: " + y.ToString());
}
}
Non è un gran che come esempio, provalo perchè non l'ho compilato, non sono sul mio pc e qui non ho il framewok installato. Se qualcuno ha sotto mano di meglio....
__________________

1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. Learn Falcon language sul sito ufficiale e sul mio
RIP NBA3D
atragon è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 20:39   #7
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
cioe io ho per esempio

interface Animale
{
void Muovi();
}

class Cane:Animale {
void Muovi(){
Console.WriteLine("Me sto a movere");
}
public static void Main() {
Cane inter = new Cane();
Cane.Muovi();
}
}



è esatto?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 21:25   #8
atragon
Senior Member
 
L'Avatar di atragon
 
Iscritto dal: Sep 2000
Messaggi: 886
Così a occhio mi sembra proprio di no...
Cane.Muovi() ???? sarà inter.Muovi()
e nell'implementazione devi mettere un public davanti al metodo.
__________________

1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. Learn Falcon language sul sito ufficiale e sul mio
RIP NBA3D
atragon è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 21:26   #9
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
cosi?

Codice:
interface Animale 
{ 
void Muovi(); 
} 

public class Cane:Animale { 
void Muovi(){ 
Console.WriteLine("Me sto a movere"); 
} 
public static void Main() { 
Cane inter = new Cane(); 
inter.Muovi(); 
} 
}
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2003, 21:30   #10
atragon
Senior Member
 
L'Avatar di atragon
 
Iscritto dal: Sep 2000
Messaggi: 886
No... così:
Codice:
using System;
interface Animale 
{ 
void Muovi(); 
} 

class Cane: Animale { 
public void Muovi(){ 
Console.WriteLine("Me sto a movere"); 
} 
public static void Main() { 
Cane inter = new Cane(); 
inter.Muovi(); 
} 
}
__________________

1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. Learn Falcon language sul sito ufficiale e sul mio
RIP NBA3D
atragon è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2003, 06:55   #11
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Quote:
Originally posted by "atragon"

E va bene....continuo a ritenere che leggere del gran codice senza prima studiarsi le basi sia un pessimo metodo...cmq, magari tu ti trovi meglio così...
è che la skuola mi impedisce di leggere il libro ma io nn voglio perdere la mano
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2003, 10:56   #12
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Comunque un'interfaccia generalmente serve quando vuoi che un tuo oggetto usi degli oggetti (indipendentemente da come essi siano fatti) che abbiano certe funzionalità...
Esempio:
oggetto A ha un metodo che serve per comprimere un suo documento -> ha bisogno di qualcuno che abbia i metodi comprimi e decomprimi -> crea un'interfaccia e dice che per comprimere ha bisogno di un oggetto con tale interfaccia -> a quel punto puoi realizzare tanti oggetti che implementano l'interfaccia (magari uno comprime in zip, uno in gz, uno in arj,....) -> l'oggetto A usa poi l'oggetto che gli interessa sicuro del fatto che implementa le funzionalità comprimi e decomprimi...

Spero di essere stato sufficientemente chiaro, senza crearti dei casini in testa...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2003, 12:21   #13
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
+ o -
Cioe io crea l'interfaccia compres con comprimi() e decompromi().
Poi creo la classe Zip e quella Rar in cui implemento in ogniuno comprimi() e decompromi() ............. è esatto?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2003, 12:25   #14
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
classe zip e rar che implementano tale interfaccia:

Codice:
public class Zip: ICompressione{
...
}
Poi esiste un altro componente a cui serve "qualcuno che sappia comprimere e decomprimere" -> quindi quest'altro componente userà Zip
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2003, 12:28   #15
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
tipo cosi??????
Codice:
using System; 

interface ICompressione { 
	string comprimi(string path); 
	string decomprimi(string path); 
} 

public class Zip:ICompressione { 
	public string comprimi(string path) { 
		Console.WriteLine("Sto Comprimendo {}!\n", path); 
	} 
	public string decomprimi(string path) { 
		Console.WriteLine("Sto Decomprimendo {}!\n", path); 
	} 
} 

public class Rar:ICompressione { 
	public string comprimi(string path) { 
		Console.WriteLine("Sto Comprimendo {}!\n", path);
	} 
	public string decomprimi(string path) { 
		Console.WriteLine("Sto Decomprimendo {}!\n", path);
	} 
}
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 01-02-2003, 13:58   #16
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Esatto...

Metafora:
E' come se un negozio abbia bisogno di un commesso (classe). Il commesso deve avere dei requisiti (implementa un'interfaccia) e i requisiti (interfaccia) sono: sapere l'inglese, sapere usare il computer, ... (metodi all'interno dell'interfaccia). Alla fine il negozio non cerca un dato commesso (classe) ma semplicemente "un" commesso che abbia i requisiti (cerca qualcuno che implementi l'interfaccia...)
soalle è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
PlayStation 5 in sconto: prezzo abbassat...
Android 16: arrivano tante novità...
iPhone 17 Pro da 256 GB scende a 1.249€:...
L'europea Mistral sfida i colossi americ...
L'aereo supersonico del futuro non &egra...
Proiettore 1080P a soli 70,99€: 900 ANSI...
Motorola Edge 70 Ultra punta alla fascia...
Miracolo Helldivers 2: lo spazio occupat...
Apple Watch Series 11 e SE 3 in forte sc...
I tre pilastri fondamentali dell'intelli...
Sconti eccezionali su GPU, CPU, monitor ...
OnePlus anticipa nuovi dettagli sui tre ...
Il catalogo del Game Pass si aggiorna: e...
Redmi Note 15 4G sta arrivando in Europa...
Più sicurezza per i clienti Revol...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v