He leído que Dart no admite la sobrecarga de funciones. ¿Es compatible con la sobrecarga del operador? Si es así, sería amable y muéstrame cómo en un simple ejemplo de cómo se hace. Y cuáles son algunas ventajas, etc. Soy nuevo en la programación. Gracias.Dart support operador sobrecarga
Respuesta
Sí Dart admite la sobrecarga del operador utilizando el operador palabra clave seguido del operador que desea sobrecargar. El siguiente ejemplo sobrecarga el == operador para el objeto MyClass:
class MyClass {
operator ==(MyClass other) {
// compare this to other
}
}
casi todos los dardos operadores incorporados pueden ser sobrecargados con algunas excepciones notables siendo el operador de asignación =
y referencia equivalencia operador
===
(ya no existe).
En cuanto a la ventaja de la sobrecarga de operadores que permite volver a utilizar los operadores que tienen un significado semántico conocido como == o + para las operaciones en los objetos. Por ejemplo, si usted tiene una clase Matrix que sobrecarga el operador + entonces usted puede agregar dos matrices usando la sintaxis m1 + m2 en lugar de la m1.plus más engorroso (m2)
podría decirme si 'otro' es algo especial o podría llamarse otra cosa. Me gusta == (MyClass ggg) –
@MuhammadUmer otro podría llamarse cualquier cosa, es solo el nombre del parámetro del objeto de clase que está comparando con, por ejemplo, este == otro o este + otro –
¿El argumento tiene que ser del mismo tipo, o ¿Se pueden crear operadores como Scala's List contra operator ::, donde el tipo a la izquierda es el tipo de elemento para crear el nuevo encabezado, y el tipo a la derecha es el tipo de lista? – pohl
Para extender Lars' respuesta, también puede sobrecargar a los operadores que usan la sintaxis de la función en línea.
class MyClass {
operator ==(MyClass o) => id == o.id;
}
- 1. operador [] = ¿sobrecarga?
- 2. Sobrecarga y sobrecarga del operador en Java
- 3. sobrecarga del operador C++
- 4. C++ operador == sobrecarga
- 5. Operador = sobrecarga en C++
- 6. Operador sobrecarga == versus Igual()
- 7. Sobrecarga + Operador con plantillas
- 8. Sobrecarga del operador
- 9. ¿Sobrecarga del operador?
- 10. F # (.. ..) operador uso/sobrecarga
- 11. Operador de comparación sobrecarga
- 12. operador con plantilla() sobrecarga C++
- 13. sobrecarga operador para deshacer referencias
- 14. C++ plantilla amigo operador sobrecarga
- 15. ¿Cuándo sobrecarga el operador nuevo?
- 16. sobrecarga de php igual-operador
- 17. Operador de sobrecarga en F #: (/)
- 18. Scala: método \ sobrecarga del operador
- 19. Sobrecarga del operador en Clojure
- 20. C# en el operador-sobrecarga
- 21. Sobrecarga del operador en .NET
- 22. C++ sobrecarga operador de asignación
- 23. Operador sobrecarga = como No miembro
- 24. sobrecarga/operador implícito para 'como'
- 25. Sobrecarga del operador en Java
- 26. operador nueva sobrecarga y alineación
- 27. C++ sobrecarga del operador estático
- 28. Sobrecarga del operador en C++
- 29. Sobrecarga del operador de flujo
- 30. Sobrecarga del operador + en C++
donde has leído que * Dart no soporta la sobrecarga de funciones *? –