Programación Orientada A Objetos: Herencia Con Clases Persona, Estudiante Y Profesor En C#

En este ejercicio, practicarás conceptos de programación orientada a objetos (POO) implementando la herencia en C#. Crearás una clase base llamada "Persona" y derivarás dos subclases: "Estudiante" y "Profesor". La clase "Estudiante" tendrá un método para indicar cuándo asisten a clases, mientras que la clase "Profesor" tendrá un método para explicar un tema. Además, se usarán atributos y métodos para almacenar y mostrar la edad de cada persona. Finalmente, crearás una clase de prueba para instanciar e interactuar con estos objetos.



Grupo

Programación orientada a objetos en C#

Objectivo

1. Defina una clase base "Persona" con el método "SetAge" para establecer la edad de la persona.
2. Cree una clase derivada "Estudiante" con los métodos "GoToClasses" y "ShowAge" para mostrar la edad.
3. Cree otra clase derivada "Profesor" con el campo privado "subject" y el método "Explain" para mostrar un mensaje explicativo.
4. Implemente una clase de prueba "StudentAndTeacherTest" con el método Main para crear objetos de estas clases y probar su funcionalidad.

Escriba un programa en C# que incluya la clase Persona. Cree una clase "Estudiante" y otra clase "Profesor", ambas heredando de "Persona".

Ejemplo:

Soy una persona.


¡Hola!
Tengo 21 años.
Voy a clase.

¡Hola!
Comienza la explicación.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class Person
{
    protected int age; // Age of the person

    // Method to set the age of the person
    public void SetAge(int n)
    {
        age = n;
    }

    // Method to greet
    public void Greet()
    {
        Console.WriteLine("Hello!"); // Prints a greeting message
    }
}

// Student class inherits from Person
class Student : Person
{
    // Method to indicate the student is going to class
    public void GoToClasses()
    {
        Console.WriteLine("I'm going to class.");
    }

    // Method to display the student's age
    public void ShowAge()
    {
        Console.WriteLine("My age is: " + age + " years old.");
    }
}

// Teacher class inherits from Person
class Teacher : Person
{
    private string subject; // Private field to store the subject taught

    // Method to start explaining a subject
    public void Explain()
    {
        Console.WriteLine("Explanation begins.");
    }
}

// Test class to demonstrate functionality
class StudentAndTeacherTest
{
    static void Main()
    {
        // Creating a Person instance
        Person person = new Person();
        person.Greet(); // Person says hello

        // Creating a Student instance
        Student student = new Student();
        student.SetAge(21); // Setting age of student to 21
        student.Greet(); // Student says hello
        student.ShowAge(); // Displaying student's age
        student.GoToClasses(); // Student goes to class

        // Creating a Teacher instance
        Teacher teacher = new Teacher();
        teacher.SetAge(30); // Setting teacher's age to 30
        teacher.Greet(); // Teacher says hello
        teacher.Explain(); // Teacher starts explaining
    }
}

 Output

Hello!
Hello!
My age is: 21 years old.
I'm going to class.
Hello!
Explanation begins.

Comparte este ejercicio de C#

Practica más ejercicios C# de Programación orientada a objetos en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..