taller de 15 puntos de OOP en PHP, python o js que incluye herencias, polimorfismos, clases y objetos:

  1. Define una clase "Vehiculo" que tenga como propiedades(atributos) "marca", "modelo" y "año". También debe tener un método "obtener_info" que muestre la información del vehículo.

R//

class Vehiculo:

def init(self, marca, modelo, año):

self.marca = marca

self.modelo = modelo

self.año = año

def obtener_info(self):

return f"Vehículo: {self.marca} {self.modelo}, Año: {self.año}" #ps con esto imprimimos lo que seria el vehiculo (marca, modelo) y el año

mi_vehiculo = Vehiculo("Toyota", "Corolla", 2020)

print(mi_vehiculo.obtener_info())

  1. Crea una clase "Automovil" que extienda de la clase "Vehiculo" y que tenga como propiedad adicional "numero_puertas". El método "obtener_info" de esta clase debe mostrar la información del automóvil, incluyendo el número de puertas.

R//: class Vehiculo:

def init(self, marca, modelo, año):

self.marca = marca

self.modelo = modelo

self.año = año

def obtener_info(self):

return f"Vehículo: {self.marca} {self.modelo}, Año: {self.año}" #ps con esto imprimimos lo que seria el vehiculo (marca, modelo) y el año

#ya aqui se hace una segunda clase apartir de la primera( clase padre creo)

class Automovil(Vehiculo):

def init(self, marca, modelo, año, numero_puertas):

super().init(marca, modelo, año)

#aqui se arma el atributo adicional para el numero de puertas

self.numero_puertas = numero_puertas

def obtener_info(self):

info_vehiculo = super().obtener_info()

#aqui se añade el numero de puertas

return f"{info_vehiculo}, Número de puertas: {self.numero_puertas}"

mi_automovil = Automovil("Toyota", "Corolla", 2020, 4)

print(mi_automovil.obtener_info()) #imprime

  1. Crea una clase "Camioneta" que extienda de la clase "Vehiculo" y que tenga como propiedad adicional "capacidad_carga". El método "obtener_info" de esta clase debe mostrar la información de la camioneta, incluyendo la capacidad de carga.

R//: class Camioneta(Vehiculo):

def init(self, marca, modelo, año, capacidad_carga):

super().init(marca, modelo, año)

self.capacidad_carga = capacidad_carga

##un poquito de lo mismo, se le hace una clase padre

def obtener_info(self):

info_vehiculo = super().obtener_info()

return f"{info_vehiculo}, Capacidad de carga: {self.capacidad_carga} kg"

#aqui es como que le dijeras al programa"mira aparte que es una camioneta quiero que tambien se le vea la capacidad de carga"

mi_camioneta = Camioneta("Ford", "F-150", 2022, 1000)

print(mi_camioneta.obtener_info())

  1. Define una clase "Animal" que tenga como propiedades "nombre" y "edad". También debe tener un método "hacer_ruido" que muestre un mensaje genérico.

R/: class Animal:

def init(self, nombre, edad):

self.nombre = nombre

self.edad = edad

def hacer_ruido(self):

print(" GATO: MEAW")

  1. Crea una clase "Perro" que extienda de la clase "Animal" y que tenga como propiedad adicional "raza". El método "hacer_ruido" de esta clase debe mostrar un ladrido.

class Animal:

def init(self, nombre, edad):

self.nombre = nombre

self.edad = edad

def hacer_ruido(self):

print("GUAU GUAU!")

class Perro(Animal):

def init(self, nombre, edad, raza):

super().init(nombre, edad)

self.raza = raza

mi.perro = Perro("Fido", 3, "Labrador")

print(mi_perro.nombre)