Показать сообщение отдельно
  #2  
Старый 22.05.2014, 21:43
Аватар для madMonia
madMonia madMonia вне форума
Новичок
 
Регистрация: 25.02.2014
Сообщения: 50
Версия Delphi: Delphi XE3
Репутация: 2545
По умолчанию

Код:
interface

type
   IScratcher = interface
       procedure Scratch; 
   end;

    INipper = interface
       procedure Nip; 
   end;

   TAnimal = class(TInterfacedObject, INipper)
   private
     FName: String;
   private \\ INipper
     procedure Nip;  
   protected
     function GetName: String; virtual;
   public
     constructor Create(aName: String);
     property Name: String read GetName;
   end; 
   
   TCat =  class(TAnimal , IScratcher ) 
   protected
     function GetName: String; override;
   private \\IScratcher 
     procedure Scratch;
   end; 
    
implementation

procedure TAnimal.Nip;  
begin
   Writeln('Nip Nip');
end;

function TAnimal.GetName: String;
begin
  Result := FName;
end;

constructor TAnimal.Create(aName: String);
begin
  FName = aName;
end;

procedure TCat.Scratch;
begin
  Writeln('Scratch Scratch');
end;

function TAnimal.GetName: String;
begin
   Result := 'Cat ' + inherited GetName;
end;
__________________
Невозможно заточить карандаш тупым топором. Столь же тщетно пытаться сделать это десятком тупых топоров
Ответить с цитированием