Saltar navegación

Clases

Cando usalas e como se escriben

En Python, unha clase é un molde ou modelo que se utiliza para crear obxectos.

Define:

  • Os atributos (ou propiedades): Estas son as características ou datos que terán os obxectos creados a partir da clase.
  • Os métodos: Son as accións ou funcionalidades que os obxectos creados poderán realizar.

A clase é, entón, unha definición xeral, e os obxectos creados a partir da clase son as instancias concretas que empregan esa definición.

As clases permiten organizar o código e reutilizalo facilmente, sendo ideais para proxectos máis complexos. A Programación Orientada a Obxectos (POO) utilízase para modelar entidades do mundo real cunha estrutura clara.

Código Python: Estrutura básica dunha clase

class NomeDaClase:
    # Constructor para definir atributos
    def __init__(self, atributo1, atributo2):
        self.atributo1 = atributo1  # Inicializa o atributo1
        self.atributo2 = atributo2  # Inicializa o atributo2

    # Método exemplo
    def metodo_exemplo(self):
        print("Este é un método!")    
  • class NomeDaClase: Usamos a palabra clave class para definir unha clase.
  • __init__: É o constructor, un método especial que se executa automaticamente cando creamos un obxecto da clase. Serve para inicializar atributos.
  • self: Refírese á propia instancia do obxecto creado.

Código Python:Exemplo de clase "Can"

class Can:
    def __init__(self, nome, raza):
        self.nome = nome  # Atributo nome
        self.raza = raza  # Atributo raza

    def ladrar(self):  # Método
        print(f"{self.nome} di: Guau Guau!")

# Crear obxectos a partir da clase
meu_can = Can("Rex", "Labrador")
outro_can = Can("Linda", "Pastor Alemán")

# Usar os métodos e atributos
print("O nome do meu can é:", meu_can.nome)  # Acceder ao atributo nome
print("A raza do meu can é:", meu_can.raza)
meu_can.ladrar()  # Chamar ao método ladrar
outro_can.ladrar()    
  • A clase Can define como é un can (ten un nome e unha raza, e pode ladrar).
  • O constructor __init__ inicializa os atributos do can (nome e raza).
  • O método ladrar realiza unha acción asociada ao can.
  • Creamos obxectos concretos (meu_can e outro_can) que representan cans específicos.

A diferenza entre clases e obxectos

Clase: É o modelo ou a definición. Por exemplo, "Can" é unha clase que describe como debe ser un can.

Obxecto: É unha instancia concreta desa clase. Por exemplo, "Rex" e "Linda" son dous obxectos creados a partir da clase "Can".

Exemplo: Crea unha clase

Programa

Crea unha clase chamada "Coche". Cada coche debe ter:

  • Atributos: marca, modelo, e ano.
  • Un método chamado arrancar que mostre unha mensaxe como "O coche {marca} {modelo} arrincou."
  • Crea dous obxectos diferentes e proba os métodos.

Código Python: Creando a clase Coche

class Coche:
    def __init__(self, marca, modelo, ano):
        self.marca = marca
        self.modelo = modelo
        self.ano = ano

    def arrancar(self):
        print(f"O coche {self.marca} {self.modelo} arrincou.")

# Crear obxectos da clase Coche
coche1 = Coche("Toyota", "Corolla", 2020)
coche2 = Coche("Honda", "Civic", 2018)

# Probar os métodos e atributos
print(f"Coche 1: {coche1.marca}, {coche1.modelo}, {coche1.ano}")
print(f"Coche 2: {coche2.marca}, {coche2.modelo}, {coche2.ano}")
coche1.arrancar()
coche2.arrancar()