Puesto que usted etiquetado esto como C++, creo que quiere decir const
método como este:
class A {
int e;
public:
int doSomething() const {
// ++ e; // Compiler error, change data-member in read-only structure
return e+1; // OK.
}
};
(. Aunque const C++ 's no es un verdadero-const debido a las mutable
miembros)
Entonces
I Solo estoy al tanto de C++, D2 y todos los lenguajes funcionales que lo soportan.
- C# doesn't support
const
methods pero puede hacer todos los miembros readonly
. También puede crear una clase/subclase de contenedor readonly
. Java no tiene la palabra clave const, pero como C# you can make all members final
.
- idiomas Todo funcionales utilizan métodos correctos const por defecto porque las funciones son puros, pero si apoyan la programación orientada a objetos es otra cuestión.
El voto para cerrar esta me parece fuera de lugar - es claramente una cuestión real para el que una respuesta correcta es posible (y puede haber más de una respuesta correcta). Sin embargo, el "Por favor proporcione ejemplos o referencias ..." suena como una tarea. –
Esta es una pregunta real y no una tarea. Se originó a partir de una discusión con un amigo programador C++ sobre un problema que encontró con métodos constantes. Durante esa discusión, me di cuenta de que ni Java ni Scala admiten este concepto y que no muchos lenguajes orientados a objetos que conozco. Entonces, me preguntaba, ¿qué idiomas admiten este concepto? –
Una de las mejores preguntas que he visto hoy. ¿Por qué los votos cercanos? –