Ejer 5, 6, 7, 8 PROgramacion orientada a objetos; buenos ejemplos repasados en GoogleColab los dos primeros

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





Entradas populares de este blog

BLOQUE 5_Páginas de IA generativa de video (gratis y sin pagar) para 4º ESO IA artificial_Inteligencia artificial

GrÁfico de lineas, google colab o jupyter ,GRÁFICO DE DISPERSIÓN Y DETECCIÓN DE PROFUNDIDAD, NOTEBOOK, PÍDELE A TU IA FAVORITA,