Ho letto che Dart non supporta l'overloading delle funzioni. Supporta il sovraccarico dell'operatore. Se sì, sarebbe gentile e mostrami come in un semplice esempio come è stato fatto. E quali sono alcuni vantaggi ecc. Sono nuovo alla programmazione. Grazie.Il dart supporta il sovraccarico dell'operatore
risposta
Sì La freccetta supporta il sovraccarico dell'operatore utilizzando la parola chiave dell'operatore seguita dall'operatore che si desidera sovraccaricare. Il seguente esempio sovraccarica il == operatore per il oggetto MiaClasse:
class MyClass {
operator ==(MyClass other) {
// compare this to other
}
}
quasi tutte freccette operatori built-in può essere sovraccaricato con poche eccezioni essendo l'operatore di assegnazione =
e riferimento equivalenza operator
===
(non esiste più).
Per quanto riguarda il vantaggio di overloading degli operatori permette di riutilizzare gli operatori che hanno un significato semantico noto come == o + per le operazioni sui vostri oggetti. Per esempio, se si dispone di una classe Matrix che sovraccarica l'operatore + poi si può aggiungere due matrici utilizzando la sintassi m1 + m2 al posto del più ingombrante m1.plus (m2)
potrebbe dirmi se 'altro' è qualcosa di speciale o potrebbe essere chiamato qualcos'altro. Ad esempio == (MyClass ggg) –
@MuhammadUmer si può chiamare qualsiasi altro, solo il nome del parametro dell'oggetto di classe che si sta confrontando, ad es. == altro o questo + altro –
L'argomento deve essere dello stesso tipo, oppure si possono creare operatori come Scala cons Elenco operatore ::, dove il tipo a sinistra è il tipo di elemento per creare la nuova testata e il tipo a destra è il tipo Lista? – pohl
Per estendere Lars' rispondi, puoi anche sovraccaricare gli operatori usando la sintassi della funzione inline.
class MyClass {
operator ==(MyClass o) => id == o.id;
}
- 1. Il C supporta il sovraccarico?
- 2. Google Dart supporta i mixaggi?
- 3. Dart supporta l'uso di librerie JavaScript esistenti?
- 4. Il metodo di supporto PHP supporta l'overloading
- 5. Il convertitore JavaScript di Google Dart supporta i browser più vecchi?
- 6. Il GWT supporta PHP?
- 7. Arduino supporta il threading?
- 8. SystemVerilog supporta il downcasting?
- 9. Metodo sovraccarico e il polimorfismo
- 10. Chiamare il codice Dart da javascript
- 11. Come funziona il compilatore dart javascript (dart2js)?
- 12. Come connettere il database mysql a Dart?
- 13. perché il sovraccarico non è supportato in Actionscript?
- 14. Il servizio non supporta chkconfig
- 15. Il browser iPad supporta jQuery?
- 16. Il listener non supporta servizi
- 17. boost.python non supporta il parallelismo?
- 18. log4j supporta il formato JSON?
- 19. Android supporta il ritaglio video?
- 20. Il ruby supporta l'ereditarietà multipla
- 21. Dart
- 22. Il casting Java introduce un sovraccarico? Perché?
- 23. Il sovraccarico del metodo è considerato polimorfismo?
- 24. boost :: variante visitatore sceglie il sovraccarico errato
- 25. Compilatore che preleva il sovraccarico errato
- 26. Perché "evitare il sovraccarico del metodo"?
- 27. Il dattiloscritto ha un sovraccarico dell'operatore?
- 28. e il funzionamento di sovraccarico in python
- 29. Implementare il sovraccarico della funzione in Haskell
- 30. Impossibile creare il collegamento ScalaDoc per il metodo sovraccarico
dove hai letto che * Dart non supporta il sovraccarico di funzione *? –