Ejercicio
Clases: Alumno E Instructor
Objectivo
Desarrolla un programa Python que incorpore una clase Person.
Luego, crea dos clases adicionales, Student y Teacher, que hereden de Person.
La clase Student debe incluir un método público GoToClasses que imprima "Voy a clase".
La clase Teacher debe tener un método público Explain que imprima "La explicación comienza". Además, tendrá un atributo privado subject (una cadena).
La clase Person contará con un método SetAge, que permite establecer su edad (por ejemplo, "20 años").
La clase Student también tendrá un método público ShowAge que imprimirá "Mi edad es: 20 años" (o la edad que se establezca).
Finalmente, crea una clase de prueba separada, StudentAndTeacherTest, que contendrá el método Main y realizará lo siguiente:
Crea una Person y haz que salude (diga hola).
Crea un Student, establece su edad en 21, haz que salude y muestre su edad.
Crea un Teacher, establece su edad en 30, haz que salude y luego explique su materia.
Ejemplo de ejercicio de Python
Mostrar código Python
# Base class Person
class Person:
def __init__(self, name):
# Initialize the person's name
self.name = name
def Greet(self):
# Greet method to say hello
print(f"Hello, my name is {self.name}.")
def SetAge(self, age):
# Set the age method
self.age = age
# Derived class Student that inherits from Person
class Student(Person):
def __init__(self, name):
# Initialize the student with a name
super().__init__(name)
def GoToClasses(self):
# Method to print when the student goes to class
print("I’m going to class.")
def ShowAge(self):
# Method to show the student's age
print(f"My age is: {self.age} years old.")
# Derived class Teacher that inherits from Person
class Teacher(Person):
def __init__(self, name, subject):
# Initialize the teacher with a name and subject
super().__init__(name)
self.__subject = subject # Private attribute for subject
def Explain(self):
# Method to explain the subject
print(f"Explanation begins for {self.__subject}.")
def SetSubject(self, subject):
# Method to set the subject for the teacher
self.__subject = subject
# Test class to demonstrate the functionality
class StudentAndTeacherTest:
@staticmethod
def Main():
# Create a Person object and greet
person = Person("John")
person.Greet()
# Create a Student object, set age, greet, and show age
student = Student("Alice")
student.SetAge(21)
student.Greet()
student.ShowAge()
# Create a Teacher object, set age, greet, and explain subject
teacher = Teacher("Mr. Smith", "Mathematics")
teacher.SetAge(30)
teacher.Greet()
teacher.Explain()
# Run the test class
StudentAndTeacherTest.Main()
Output
python person_inheritance.py
Hello, my name is John.
Hello, my name is Alice.
My age is: 21 years old.
Hello, my name is Mr. Smith.
Explanation begins for Mathematics.
Código de ejemplo copiado
Comparte este ejercicio de Python