Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.043 c
1-1153459612
KygECHuK
2006-07-21 09:26
2006.09.03
Как получить иконку ?


15-1155274652
Карелин Артем
2006-08-11 09:37
2006.09.03
Как програмно записать в именованную ячейку Екселя?


15-1155462612
Батыр
2006-08-13 13:50
2006.09.03
про диск


15-1155024974
Курдль
2006-08-08 12:16
2006.09.03
Требуется программа-объединитель для Excell


2-1155619285
Mikka Hakkinnen
2006-08-15 09:21
2006.09.03
Вывести на Chart номера точек PointSeries





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский