property name and method name

freepascal Конфликт имен между именем аргумента метода и именем публичного поля класса - Error: Duplicate identifier

Рассмотрим пример кода:

type
  Cat = class
  public
    name: string;
    constructor create(name: string);
    procedure sayHello();
  end;

constructor Cat.create(name: string);
begin
   self.name := name;
end;

procedure Cat.sayHello();
begin
 writeln('Привет, я '  + self.name + '!');
end;

var
  CatItem: Cat;
begin
  CatItem := Cat.create('Мурка');
  CatItem.sayHello();
end. 

- для такого кода fpc выбросит ошибку:

Subscribe to RSS - property name and method name