static void Main(string[] args) { // Person // Create a Person class with the following fields: // // name: the name of the person // age: the age of the person(whole number) // gender: the gender of the person(male / female) // And the following methods: // // Introduce() : prints out "Hi, I'm name, a age year old gender." // GetGoal() : prints out "My goal is: Live for the moment!" // And the following constructors: // // Person(name, age, gender) // Person() : sets name to Jane Doe, age to 30, gender to female // Student // Create a Student class that has the same fields and methods as the Person class, and has the following additional // // fields: // previousOrganization: the name of the student’s previous company / school // skippedDays: the number of days skipped from the course // methods: // GetGoal() : prints out "Be a junior software developer." // Introduce() : "Hi, I'm name, a age year old gender from previousOrganization who skipped skippedDays days from the course already." // SkipDays(numberOfDays) : increases skippedDays by numberOfDays // The Student class has the following constructors: // // Student(name, age, gender, previousOrganization) : beside the given parameters, it sets skippedDays to 0 // Student() : sets name to Jane Doe, age to 30, gender to female, previousOrganization to The School of Life, skippedDays to 0 // Mentor // Create a Mentor class that has the same fields and methods as the Person class, and has the following additional // // fields: // level: the level of the mentor(junior / intermediate / senior) // methods: // GetGoal() : prints out "Educate brilliant junior software developers." // Introduce() : "Hi, I'm name, a age year old gender level mentor." // The Mentor class has the following constructors: // // Mentor(name, age, gender, level) // Mentor() : sets name to Jane Doe, age to 30, gender to female, level to intermediate // Sponsor // Create a Sponsor class that has the same fields and methods as the Person class, and has the following additional // // fields: // company: name of the company // hiredStudents: number of students hired // method: // Introduce() : "Hi, I'm name, a age year old gender who represents company and hired hiredStudents students so far." // Hire() : increase hiredStudents by 1 // GetGoal() : prints out "Hire brilliant junior software developers." // The Sponsor class has the following constructors: // // Sponsor(name, age, gender, company) : beside the given parameters, it sets hiredStudents to 0 // Sponsor() : sets name to Jane Doe, age to 30, gender to female, company to Google and hiredStudents to 0 // Cohort // Create a Cohort class that has the following // // fields: // name: the name of the cohort // students: a list of Students // mentors: a list of Mentors // methods: // addStudent(Student) : adds the given Student to students list // addMentor(Mentor): adds the given Mentor to mentors list // info(): prints out "The name cohort has students.size() students and mentors.size() mentors." // The Cohort class has the following constructors: // // Cohort(name) : beside the given parameter, it sets students and mentors as empty lists var people = new List <Person>(); var mark = new Person("Mark", 46, Gender.male); people.Add(mark); var jane = new Person(); people.Add(jane); var john = new Student("John Doe", 20, Gender.male, "BME"); people.Add(john); var student = new Student(); people.Add(student); var gandhi = new Mentor("Gandhi", 148, Gender.male, Level.senior); people.Add(gandhi); var mentor = new Mentor(); people.Add(mentor); var sponsor = new Sponsor(); people.Add(sponsor); var elon = new Sponsor("Elon Musk", 46, Gender.male, "SpaceX"); people.Add(elon); student.SkipDays(3); for (int i = 0; i < 5; i++) { elon.Hire(); } for (int i = 0; i < 3; i++) { sponsor.Hire(); } foreach (var person in people) { person.Introduce(); person.GetGoal(); } Cohort awesome = new Cohort("AWESOME"); awesome.AddStudent(student); awesome.AddStudent(john); awesome.AddMentor(mentor); awesome.AddMentor(gandhi); awesome.Info(); var johnTheCLone = john.Clone() as Student; }