Primera Parte – Propiedades o Métodos Get y Set.

Publicado por el 4/06/2016. Categoría: Programación Orientada a Objetos

¡Hola programadores/as! En el post anterior vimos algunos conceptos y los cuatro pilares básicos de la orientación a objetos y quedamos en continuar con las propiedades por eso hoy veremos qué son, para qué sirven y cuándo se utilizan.

Ayer teniendo un debate conceptual con mi novio sobre las propiedades, decidí aclarar en este post que las propiedades son un tipo especial de atributos y son un intermediario entre un atributo y un método. Éstas están disponibles en algunos lenguajes de programación orientada a objetos, tales como .NET (C# y VisualBasic), PHP, C++, Python, Ruby, y otros que si les da curiosidad en el artículo Property de Wikipedia pueden ver cuáles son y cuál es la sintaxis para cada uno de ellos.

Como aclaración adicional para no generar confusión, quiero decir que hay muchos autores que utilizan la palabra “propiedad” para referirse a los atributos de la clase y otros se refieren a las propiedades como “métodos getter y setter”, creo que esto depende de cada autor y de como lo entienda cada uno, para mi la forma más fácil de entenderlo es utilizando la palabra “propiedades”, que es como hablaré en este post, pero dicho de cualquier forma es lo mismo. Por ejemplo Wikipedia en el artículo que les mencioné antes, lo define como Property (Propiedad en español).

Bien volvamos a lo nuestro, una propiedad la podemos definir entonces como un intermediario entre un atributo y un método, que nos permite un acceso controlado y seguro a los atributos de una clase, lo que en muchos lenguajes se muestra como métodos get y set. Por ejemplo siguiendo la línea del ejemplo de la clase “Perro” del post anterior podemos definir las siguientes propiedades:

propiedades

Clase representada con la notación de UML

Como vemos las propiedades “Nombre”, “Tamaño” y “TipoLadrido” representadas en la clase comienzan con mayúscula (esto es en este ejemplo no es que sea siempre así) para diferenciarse de los atributos y dentro tienen dos métodos “get” y “set”, que en español quiere decir “obtener” y “setear”.

Estas propiedades se definen como públicas para poder acceder a los atributos privados de la clase, por lo general los atributos se declaran privados para luego desde las propiedades tener un acceso controlado y seguro.

Por ejemplo si nosotros definimos la propiedad “Nombre” de la clase “Perro” le decimos (no vamos a hacer referencia a ningún lenguaje aún para no confundir):

private cadena nombre
public cadena Nombre {
   set{ nombre = “Camila” }
   get{ return nombre }
}

Como podemos ver el método “set” lo que hace básicamente es asignar el nombre al atributo y el método “get” lo devuelve cuando se solicita. Entonces cuando instanciamos el objeto quedaría algo así:

objetoPerro = nuevo Perro()
objetoPerro.Nombre = “Camila” //Acá estaríamos usando el método set de la propiedad “Nombre”
nuevaVariable = objetoPerro.Nombre //Acá le asignamos a otra variable el nombre del perro que accedemos al valor gracias al método get de la propiedad “Nombre”

Por ahora puede ser un poco confuso de comprender esto de las propiedades pero ¡no se desanimen! más adelante cuando comencemos a programar y practiquemos más, podrán ver que es muy sencillo y facilita mucho la programación y el mantenimiento del código.

Esto ha sido todo por hoy espero que les haya podido ayudar en algo, si es así pueden compartir el post en los medios que ustedes prefieran. Muchas gracias por leerme y como siempre digo cualquier comentario es bienvenido ya que es lo que ayuda a crecer al blog. ¡Saludos y gracias por seguirme! 😉

cc
Los textos e imágenes de este sitio están disponibles bajo una licencia Creative Commons Atribución 2.5 Argentina.

Puedes compartir nuestro post en los siguientes medios:

Emi Garin es una programadora y diseñadora web apasionada por las nuevas tecnologías y el constante aprendizaje. Estudió analista y programador superior de sistemas y le encanta la cocina y la pastelería.

  1. Francisco dice:

    Muy buena iniciativa Emi, te felicito!

  2. Erick dice:

    Gracias por tu tiempo!!! Espero con ansias los ejercicios para programar.

  3. lucas dice:

    Hola! porfavor segui con la explicacion!!!!!!!!!! esta de 10 esto! te felicito nuevamente.

    saludos.

  4. Javier dice:

    Muy Bueno!
    Tenía entendido que los getters y los setters cumplían una función de encapsulación de datos, por ahí la gente lo entienda más así ya que es un tema común al empezar con POO.

    Saludos muy bueno el blog.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *