Форум: "Основная";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
ВнизПро типы/наследование Найти похожие ветки
← →
Чапаев © (2006-07-21 11:53) [0]type TMyButton=type TButton и type TMyButton=class(TButton) end;
В чём различия? Чем в дальнейшем может грозить первая форма (если никаких изменений в TButton вноситься не будет)?
← →
Reindeer Moss Eater © (2006-07-21 11:57) [1]В первом случае TMyButton не наследник, а просто синоним.
Во втором - полноценный наследник.
← →
Чапаев © (2006-07-21 12:00) [2]
> В первом случае TMyButton не наследник, а просто синоним.
Синонимом был бы, если бы type TMyButton=TButton. А тут как бы новый тип... Что не наследник в терминах ООП, это понятно.
← →
Мефисто (2006-07-21 12:06) [3]X and Y are of the same type; at runtime, there is no way to distinguish TValue from Real. This is usually of little consequence, but if your purpose in defining a new type is to utilize runtime type information--for example, to associate a property editor with properties of a particular type--the distinction between "different name" and "different type" becomes important. In this case, use the syntax
type newTypeName = type type
For example,
type TValue = type Real;
forces the compiler to create a new, distinct type called TValue.
For var parameters, types of formal and actual must be identical. For example,
type
TMyType = type Integer
procedure p(var t:TMyType);
begin end;
procedure x;
var
m: TMyType;
i: Integer;
begin
p(m); //Works
p(i); //Error! Types of formal and actual must be identical.
end;
Note
This only applies to var parameters, not to const or by-value parameters.
← →
Reindeer Moss Eater © (2006-07-21 12:06) [4]В справке описано в чем разница обеих случаев.
Для самого класа нет никаких подводных камней.
Есть разница для редактором свойств и типизированных вар-параметров.
← →
Чапаев © (2006-07-21 12:08) [5]
> This only applies to var parameters
Во. Теперь вижу разницу. ;-)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c