home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PASSRC.ZIP / SUPERVSR.PAS < prev    next >
Pascal/Delphi Source File  |  1991-02-04  |  2KB  |  86 lines

  1.                                    (* Chapter 15 - Program 5 *)
  2. unit Supervsr;
  3.  
  4. interface
  5.  
  6. uses Person;
  7.  
  8. type
  9.    Supervisor = object(Person_ID)
  10.       Title : string[15];
  11.       constructor Init(In_Name   : string;
  12.                        In_Salary : integer;
  13.                        In_Title  : string);
  14.       procedure Display; virtual;
  15.    end;
  16.  
  17.    Programmer = object(Person_ID)
  18.       Language : string[25];
  19.       constructor Init(In_Name     : string;
  20.                        In_Salary   : integer;
  21.                        In_Language : string);
  22.       procedure Display; virtual;
  23.    end;
  24.  
  25.    Secretary = object(Person_ID)
  26.       Shorthand : boolean;
  27.       typing_Speed : integer;
  28.       constructor Init(In_Name         : string;
  29.                        In_Salary       : integer;
  30.                        In_Shorthand    : boolean;
  31.                        In_TYping_Speed : integer);
  32.       procedure Display; virtual;
  33.    end;
  34.  
  35. implementation
  36.  
  37.    constructor Supervisor.Init(In_Name   : string;
  38.                                In_Salary : integer;
  39.                                In_Title  : string);
  40.    begin
  41.       Name := In_Name;
  42.       Salary := In_Salary;
  43.       Title := In_Title;
  44.    end;
  45.  
  46.    procedure Supervisor.Display;
  47.    begin
  48.       WriteLn(Name,' is the ',Title, ' and makes $', Salary,
  49.                    ' per month.');
  50.    end;
  51.  
  52.  
  53.    constructor Programmer.Init(In_Name     : string;
  54.                                In_Salary   : integer;
  55.                                In_Language : string);
  56.    begin
  57.       Name := In_Name;
  58.       Salary := In_Salary;
  59.       Language := In_Language;
  60.    end;
  61.  
  62.    procedure Programmer.Display;
  63.    begin
  64.       WriteLn(Name,' specializes in ',Language, ' and makes $', Salary,
  65.                    ' per month.');
  66.    end;
  67.  
  68.  
  69.    constructor Secretary.Init(In_Name         : string;
  70.                               In_Salary       : integer;
  71.                               In_Shorthand    : boolean;
  72.                               In_Typing_Speed : integer);
  73.    begin
  74.       Name := In_Name;
  75.       Salary := In_Salary;
  76.       Shorthand := In_Shorthand;
  77.       Typing_Speed := In_Typing_Speed;
  78.    end;
  79.  
  80.    procedure Secretary.Display;
  81.    begin
  82.       WriteLn(Name,' can type ',Typing_Speed, ' words per minute.');
  83.    end;
  84.  
  85. end.
  86.