Atributos y métodos constructores
Atributos y Métodos: Los Ladrillos de la POO
En la programación orientada a objetos (POO), los atributos representan las características o propiedades de un objeto, mientras que los métodos definen su comportamiento o acciones que puede realizar.
- Atributos: Son variables que almacenan datos asociados a un objeto. Por ejemplo, en una clase
Persona, los atributos podrían sernombre,edad,altura, etc. - Métodos: Son funciones que operan sobre los datos de un objeto. Por ejemplo, en la clase
Persona, los métodos podrían sercaminar(),hablar(),comer(), etc.
Constructores, Set y Get
- Constructores: Son métodos especiales que se utilizan para inicializar los objetos cuando se crean. Su nombre es el mismo que el de la clase y no tienen tipo de retorno. Se encargan de asignar valores iniciales a los atributos.
- Métodos Set: Se utilizan para modificar el valor de un atributo. Suelen recibir como parámetro el nuevo valor que se quiere asignar.
- Métodos Get: Se utilizan para obtener el valor de un atributo. No reciben parámetros y devuelven el valor del atributo.
Ejemplos en Diferentes Lenguajes
C++
C++
#include <iostream>
class Persona {
public:
// Constructor
Persona(std::string nombre, int edad) {
this->nombre = nombre;
this->edad = edad;
}
// Métodos set y get
void setNombre(std::string nuevoNombre) {
nombre = nuevoNombre;
}
std::string getNombre() {
return nombre;
}
private:
std::string nombre;
int edad;
};
int main() {
Persona persona1("Juan", 30);
std::cout << persona1.getNombre() << std::endl;
persona1.setNombre("Pedro");
std::cout << persona1.getNombre() << std::endl;
return 0;
}
C#
C#
class Persona {
public string Nombre { get; set; }
public int Edad { get; set; }
public Persona(string nombre, int edad) {
Nombre = nombre;
Edad = edad;
}
}
class Program {
static void Main(string[] args) {
Persona persona1 = new Persona("Ana", 25);
Console.WriteLine(persona1.Nombre);
persona1.Nombre = "María";
Console.WriteLine(persona1.Nombre);
}
}
Java
Java
public class Persona {
private String nombre;
private int edad;
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nuevoNombre) {
this.nombre = nuevoNombre;
}
}
public class Main {
public static void main(String[] args) {
Persona persona1 = new Persona("Luis", 35);
System.out.println(persona1.getNombre());
persona1.setNombre("Carlos");
System.out.println(persona1.getNombre());
}
}
Python
Python
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def getNombre(self):
return self.nombre
def setNombre(self, nuevoNombre):
self.nombre = nuevoNombre
if __name__ == "__main__":
persona1 = Persona("Sofía", 28)
print(persona1.getNombre())
persona1.setNombre("Laura")
print(persona1.getNombre())
Como puedes observar:
- C++: Ofrece un control más granular sobre los atributos y métodos, permitiendo especificar si son públicos, privados o protegidos.
- C#: Utiliza propiedades (get y set) de forma más concisa para acceder y modificar los atributos.
- Java: Similar a C++, pero con una sintaxis más simplificada.
- Python: Utiliza el método
__init__como constructor y no tiene una sintaxis específica para los métodos set y get, aunque se suelen utilizar con nombres convencionales comoget_nombreyset_nombre.
En todos los casos:
- Los constructores se utilizan para inicializar los objetos.
- Los métodos set se utilizan para modificar el valor de los atributos.
- Los métodos get se utilizan para obtener el valor de los atributos.
Comentarios
Publicar un comentario