Добавьте это в начало файла класса, чтобы сказатьl Gambas , что текущий класс наследует ParentClass классу.
Что такое наследование (inherited) ?
Класс наследует от его родителя все методы, свойства, константы и события.
Какой класс может быть родительским (parent) классом ?
Вы можете наследовать любому классу, даже родному!
Например, вы можете создать собственный MyListBox
класс, который наследует ListBox
, но позволяет ассоциировать тег (tag) с каждым списком раздела (list
item).
Заметьте, что вы не можете использовать INHERITS
в
файле класса формы, поскольку формы уже наследуют Form классу!
Наследование и конструктор (constructor)
В противоположность всем объектным языкам, которые я знаю, каждый класс в иерархии наследования потребляет параметры, передаваемые конструктору.
Давайте, посмотрим, что у нас получается со следующим деревом наследования:
MyListBox ---inherits--> ListBox ---inherits---> Control
Control._new()
не существует.
ListBox._new()
берет один параметр: родительское
управление.
MyListBox._new()
берет один параметр: имя - это
только пример.
Итак, NEW MyListBox()
берет два параметра. Первый будет
отправлен в MyListBox._new()
, второй в ListBox._new()
.
Но ListBox._new()
будет вызано первым. Таким образом, вы
убедитесь, что управление ListBox
существует, когда
находитесь в MyListBox._new()
.
Вы создадите управление MyListBox
следующим образом:
aMyListBox = NEW MyListBox ( "Name", aContainer )