Programación orientada a objetos;
el 1 y 2 muy buenos en googleColab carb..3, carb rosa.., car robl..
El 3 visto yo_ herdanza_sencillo pero con dificultad, no hay tiempo, los otros 2 ejemplos (sin repas) muy buenos , del blogger carb....tec 3
#si compartes el GoogleColab estás compartiendo ese NOTEBOOK (ejercicio) entero.
Todos los ejemplos del NOTEBOOK están en una carpeta de Drive de la misma cuenta de Google Colab que se llama COLAB.
Lo mejor es poner en celdas separadas las distintas partes:
1º) crear una clase en memoria, en la primera celda
✅ Exemplo 1 : Clase "Coche" 🚗 con comentarios:
#Lo mejor es poner en celdas separadas las distintas partes: 1º) crear una clase en memoria
#En python ni en nigún lenguaje textual se recomienda en la estructura del propio lenguaje (definición de variables o nombre de funciones) utilizar caracteres superiores a ASCII 127, solo usa la letra ñ en string, como abajo, entre comillas, por eso pongo ano, pero podría poner year
#definimos las propiedades privadas de la clase (marca, modelo....)
class Coche:
def __init__(self, marca, modelo, ano):
self.marca = marca
self.modelo = modelo
self.ano = ano
#ahora viene un método,es equivalente a una función, el método es dentro de la clase
def mostrar_info(self):
print(f"Coche: {self.marca} {self.modelo}, Año: {self.ano}")
# 2.Crear dous obxectos de la clase Coche, con tres propiedades privadas (marca, modelo, ano, privadas porque están en el def __init__)
coche1 = Coche("Toyota", "Corolla", 2020)
coche2 = Coche("Ford", "Focus", 2018)
#Llamo al método mostrar_info (un método es el equivalente a una función en programación funcional, es decir, en progaramación sin objetos)
coche1.mostrar_info()
coche2.mostrar_info()
#Resultado en GoogleColab
✅MISMO Exemplo 1 : Clase "Coche" 🚗 sin comentarios:
class Coche:
def __init__(self, marca, modelo, ano):
self.marca = marca
self.modelo = modelo
self.ano = ano
def mostrar_info(self):
print(f"Coche: {self.marca} {self.modelo}, Ano: {self.ano}")
# Crear dous obxectos de Coche
coche1 = Coche("Toyota", "Corolla", 2020)
coche2 = Coche("Ford", "Focus", 2018)
# Amosar información dos coches
coche1.mostrar_info()
coche2.mostrar_info()
#Resultado
✅ Exemplo 2 : Clase "ContaBancaria" 🏦 con comentarios:
class ContaBancaria:
def __init__(self, titular):
self.titular = titular
self.saldo = 0 # O saldo comeza en 0
def ingresar(self, cantidade):
self.saldo += cantidade #suma, self.saldo = self.saldo + cantidade
print(f"Ingresados {cantidade}€. Saldo actual: {self.saldo}€")
def retirar(self, cantidade):
if cantidade <= self.saldo: # Este IF evalua si la cintidad que voy a retirar es superior a mi saldo, si asi fuera, no me lo permite hacer
self.saldo -= cantidade # resta, self.saldo = self.saldo - cantidade
print(f"Retirados {cantidade}€. Saldo actual: {self.saldo}€")
else:
print("Saldo insuficiente!")
def mostrar_saldo(self):
print(f"Saldo de {self.titular}: {self.saldo}€")
# Crear unha conta bancaria
conta1 = ContaBancaria("Ana")
# Realizar operacións
conta1.mostrar_saldo() # Comenzamos por defecto con 0 ya que self.saldo = 0
conta1.ingresar(100) # Ingreso en el objeto conta1 (self) la cantidad 100 (cantidade) utilizo el método ingresar
conta1.retirar(50) # Retiro del objeto conta1 (self) la cantidad 50 (cantidade) utilizo el método retirar
conta1.retirar(100) # Retiro del objeto conta1 (self) la cantidad 100 (cantidade) utilizo el método retirar, pero en él hay un IF que me impide hcerlo ("saldo insuficiente")
conta1.mostrar_saldo() # Método mostrar_saldo consulta self.saldo y muestra su valor (con un print)
#Luego puedes variar los números que ingresas,retiras...
#Resultado:
✅ Exemplo 2 : Clase "ContaBancaria" 🏦 sin comentarios
class ContaBancaria:
def __init__(self, titular):
self.titular = titular
self.saldo = 0 # O saldo comeza en 0
def ingresar(self, cantidade):
self.saldo += cantidade
print(f"Ingresados {cantidade}€. Saldo actual: {self.saldo}€")
def retirar(self, cantidade):
if cantidade <= self.saldo:
self.saldo -= cantidade
print(f"Retirados {cantidade}€. Saldo actual: {self.saldo}€")
else:
print("Saldo insuficiente!")
def mostrar_saldo(self):
print(f"Saldo de {self.titular}: {self.saldo}€")
# Crear unha conta bancaria
conta1 = ContaBancaria("Ana")
# Realizar operacións
conta1.mostrar_saldo()
conta1.ingresar(100)
conta1.retirar(50)
conta1.retirar(100)
conta1.mostrar_saldo()
RESULTADO:
Faltan por ver/ analizar los siguientes ejemplos:
✅ Exemplo 3 : Herdanza - Clase "Animal" e "Can" 🐶
class Animal:
def __init__(self, nome, especie):
self.nome = nome
self.especie = especie
def falar(self):
print("O animal fai un son")
class Can(Animal):
def falar(self):
print("O can ladra")
# Crear un obxecto de tipo Animal
animal1 = Animal("Xenérico", "Descoñecido")
animal1.falar() # Mostra "O animal fai un son"
# Crear un obxecto de tipo Can
can1 = Can("Bobby", "Can")
can1.falar() # Mostra "O can ladra"
✅ Exemplo 4: Lista de Estudantes nunha Clase 🎓
class Estudante:
def __init__(self, nome, nota):
self.nome = nome
self.nota = nota
def mostrar_info(self):
print(f"Estudante: {self.nome}, Nota: {self.nota}")
# Crear unha lista con varios estudantes
estudantes = [
Estudante("Carlos", 8.5),
Estudante("Ana", 9.2),
Estudante("Luis", 7.8)
]
# Mostrar a información de todos os estudantes
for estudante in estudantes:
estudante.mostrar_info()
✅ Exemplo 5 : Crear un Pequeno Xogo de Personaxes ⚔️
class Personaxe:
def __init__(self, nome, ataque):
self.nome = nome
self.vida = 100 # Vida inicial
self.ataque = ataque
def atacar(self, outro_personaxe):
print(f"{self.nome} ataca a {outro_personaxe.nome} e fai {self.ataque} puntos de dano.")
outro_personaxe.vida -= self.ataque
if outro_personaxe.vida <= 0:
print(f"{outro_personaxe.nome} está derrotado!")
else:
print(f"{outro_personaxe.nome} ten {outro_personaxe.vida} puntos de vida restantes.")
# Crear dous personaxes
personaxe1 = Personaxe("Guerrreiro", 20)
personaxe2 = Personaxe("Mago", 15)
# Facer que loiten
personaxe1.atacar(personaxe2)
personaxe2.atacar(personaxe1)
personaxe1.atacar(personaxe2)
✅ Exemplo 6 :
# Clase base
class Animal:
def __init__(self, nome, especie):
self.nome = nome
self.especie = especie
def falar(self):
print("O animal fai un son")
# Subclase
class Gato(Animal):
def falar(self):
print("O gato miaña")
# Outro exemplo de subclase
class Can(Animal):
def falar(self):
print("O can ladra")
# Crear obxectos
animal = Animal("Bicho raro", "Descoñecido")
gato = Gato("Michi", "Gato")
can = Can("Bobby", "Can")
# Probar os métodos
animal.falar() # O animal fai un son
gato.falar() # O gato miaña
can.falar() # O can ladra