Diferencia entre revisiones de «Programación en Vala/Conceptos básicos del lenguaje»

Contenido eliminado Contenido añadido
Sigmar (discusión | contribs.)
Sigmar (discusión | contribs.)
Línea 626:
void draw(string text) { }
void draw(Shape shape) { } // Esta definición nos dará un error.
</source>
 
Esto es debido a que las bibliotecas desarrolladas en Vala están diseñadas para que puedan ser usadas por programadores de C también sin ningún cambio (y en C no existe la sobrecarga de funciones). En lenguaje Vala se puede realizar algo parecido a lo siguiente para solucionar este inconveniente:
 
<source lang=csharp>
void draw_text(string text) { }
void draw_shape(Shape shape) { }
</source>
 
Eligiendo nombres ligeramente distintos el desarrollador puede evitar este inconveniente. En lenguajes que si soportan la sobrecarga de métodos se usa esta técnica para suministrar métodos con menos parámetros que un método general.
 
En caso de querer desarrollar métodos generales se puede usar una característica de Vala que son los argumentos por defecto de los métodos para obtener un comportamiento similar. De esta forma no es necesario pasar todos los parámetros a los métodos que han sido definidos de esta forma:
 
<source lang=csharp>
void metodo(int x, string s = "hola", double z = 0.5) { }
</source>