Inheritance

INHERITS ParentClass

Добавьте это в начало файла класса, чтобы сказатьl Gambas , что текущий класс наследует ParentClass классу.

Что такое наследование (inherited) ?

Класс наследует от его родителя все методы, свойства, константы и события.

Какой класс может быть родительским (parent) классом ?

Вы можете наследовать любому классу, даже родному!

Например, вы можете создать собственный MyListBox класс, который наследует ListBox , но позволяет ассоциировать тег (tag) с каждым списком раздела (list item).

Заметьте, что вы не можете использовать INHERITS в файле класса формы, поскольку формы уже наследуют Form классу!

Наследование и конструктор (constructor)

В противоположность всем объектным языкам, которые я знаю, каждый класс в иерархии наследования потребляет параметры, передаваемые конструктору.

Давайте, посмотрим, что у нас получается со следующим деревом наследования:

MyListBox ---inherits--> ListBox ---inherits---> Control

Итак, NEW MyListBox() берет два параметра. Первый будет отправлен в MyListBox._new(), второй в ListBox._new(). Но ListBox._new() будет вызано первым. Таким образом, вы убедитесь, что управление ListBox существует, когда находитесь в MyListBox._new().

Вы создадите управление MyListBox следующим образом:

aMyListBox = NEW MyListBox ( "Name", aContainer )