Atributos Const Y Static

Atributos Const Y Static

!! CONST EN LAS CLASES

Uno de los lugares donde interesa usar const es para expresiones constantes dentro de las clases. El ejemplo típico es cuando se define un vector en una clase y se quiere usar const en lugar de #define para establecer el tamaño del vector y para usarlo al calcular datos concernientes al vector. El tamaño del vector es algo que desea mantener oculto en la clase, así que si usa un nombre como size, por ejemplo, se podría usar el mismo nombre en otra clase sin que ocurra un conflicto. El preprocesador trata todos los #define de forma global a partir del punto donde se definen, algo que const permite corregir de forma adecuada consiguiendo el efecto deseado. Se podría pensar que la elección lógica es colocar una constante dentro de la clase. Esto no produce el resultado esperado. Dentro de una clase const recupera un poco su significado en C. Asigna espacio de almacenamiento para cada variable y representa un valor que es inicializado y ya no se puede cambiar. El uso de una constante dentro de una clase significa “Esto es constante durante la vida del objeto”. Por otra parte, en cada objeto la constante puede contener un valor diferente. Por eso, cuando crea una constante ordinaria (no estática) dentro de una clase, no puede darle un valor inicial. Esta inicialización debe ocurrir en el constructor. Como la constante se debe inicializar en el punto en que se crea, en el cuerpo del constructor la constante debe estar ya inicializada. De otro modo, le quedaría la opción de esperar hasta algún punto posterior en el constructor, lo que significaria que la constante no tendría valor por un momento. Y nada impediría cambiar el valor de la constante en varios sitios del constructor.

!!ATRIBUTO STATIC

El atributo static, que se puede utilizar con propiedades declaradas con las palabras clave var, const o function, permite asociar una propiedad a la clase en lugar de asociarla a instancias de la clase. El código externo a la clase debe llamar a propiedades estáticas utilizando el nombre de la clase en lugar de un nombre de instancia. Las subclases no heredan las propiedades estáticas, pero las propiedades forman parte de una cadena de ámbitos de subclase. Esto significa que en el cuerpo de una subclase se puede utilizar una variable o un método estático sin hacer referencia a la clase en la que se definió.


Mis sitios nuevos:
Emprendedores
Politica de Privacidad