The above design structure was translated into code as shown below:

//Namespace declaration
using System;

//Person class
public class Person {
private string name;
private string DateOfBirth;
public Person (string myName, string myDOB) { //constructor
name = myName;
DateOfBirth = myDOB;
}
}

//Treatment class
public class Treatment {
private string date;
private string startTime;
private string endTime;
public Treatment (string aDate, string aStartTime,
string anEndTime){
date = aDate;
startTime = aStartTime;
endTime = anEndTime;
}

public getDate() {return date;}
public getStartTime() {return startTime;}
public getEndTime() {return endTime;}
public string setDate(string aDate) {
date = aDate;
}
public string setStartTime(string aStartTime) {
startTime = aStartTime;
}
public string setEndTime(string anEndTime) {
endTime = anEndTime;
}
}

//DoctorPerson Class
//extends from Person Class
public class DoctorPerson : Person {
private string dateEmployed;
private string specialty;
public DoctorPerson (string DocName, string DocDOB,
string DocDateEmployed, string DocSpecialty)
{
base(myName, myDOB); //2 inherited from Person Class
dateEmployed = DocDateEmployed;
specialty = DocSpecialty;
}
}

//PatientPerson Class
//extends from Person Class
public class PatientPerson : Person {
private Treatment[] treatments; //association from Treatment Class
private string employer;
private string insurance;
public PatientPerson (string myName, string myDOB,
string boss, string health)
{
base(myName, myDOB);
employer = boss;
insurance = health;
treatments = new Treatment[10];
}
}

Hosted by www.Geocities.ws

1