Clases Estudiante + Profesor Curso de Programación C# Sharp

Lección:

Programación Orientada a Objetos


Ejercicio:

Clases Estudiante + Profesor 38


Objetivo:

Cree un nuevo proyecto e incluya en él la clase Persona que acaba de crear.

Crear una clase "Alumno" y otra clase "Profesor", ambos descendientes de "Persona".

La clase "Estudiante" tendrá un método público "GoToClasses", que escribirá en pantalla "Voy a clase".

La clase "Profesor" tendrá un método público "Explicar", que mostrará en pantalla "La explicación comienza". Además, tendrá un atributo privado "subject", una cadena.

La clase Persona debe tener un método "SetAge (int n)" que indicará el valor de su edad (por ejemplo, 20 años).

El alumno dispondrá de un método público "ShowAge" en el que se escribirá en la pantalla "Mi edad es: 20 años" (o el número correspondiente).

Debe crear otra clase de prueba llamada "StudentAndTeacherTest" que contendrá "Main" y:
Crea una persona y haz que salude
Crea un estudiante, establece su edad en 21 años, dile que salude y muestra su edad
Crea un maestro, de 30 años, pídele que salude y luego explícale.


Código:

using System;
namespace December_19th
{
    class Teacher : Person
    {
        private string subject;
        public void Explain()
        {
            Console.WriteLine("Explanation begins");
        }
    }
}

using System;
namespace December_19th
{
    class StudentAndTeacherTest
    {
        static void Main()
        {
            bool debug = false;

            //Create a Person and make it say hello
            Person myPerson = new Person();
            myPerson.Greet();

            /*Create a student, set his age to 21, 
              tell him to Greet and display his age*/
            Student myStudent = new Student();
            myStudent.SetAge(21);
            myStudent.Greet();
            myStudent.ShowAge();

            /*Create a teacher, 30 years old, 
             *ask him to say hello and then explain*/
            Teacher myTeacher = new Teacher();
            myTeacher.SetAge(30);
            myTeacher.Greet();
            myTeacher.Explain();

            if (debug)
                Console.ReadLine();
        }
    }
}

using System;
namespace December_19th
{
    class Student : Person
    {
        public void ShowAge()
        {
            Console.WriteLine("My age is: {0} years old", age);
        }
    }
}

using System;
namespace December_19th
{
    class Person
    {
        protected int age;
        public void Greet()
        {
            Console.WriteLine("Hello");
        }
        public void SetAge(int n)
        {
            age = n;
        }
    }
}