Идиотский вопрос: как связаны тип, класс, объект и т.д.

0000

Скажите плз по человечьи... а то тут прогаю на Delphi, решил класс свой сделать (конечно получилось но вот смысл своих махинаций осознать не могу

Eugenia_2005

Да, идиотский вопрос
Лучше сначала учебник почитай, типа си плюс плюс или ООП для чайников, чем сразу садиться "программы" делать.

otvertka07

у объекта есть тип, класс - это объект типа "Class"

ppplva

лол

maggi14

Лучше тогда не надо создавать.
Тип - это множество, в которое может входить элемент (переменная).
Некоторые из этих типов (множеств) являются классами, то есть их элементы (объекты) имеют ряд особенностей. В классике, это инкапсуляция, наследование и полиморфизм.
Итак, "объект - член класса" - верное утверждение, частный случай утверждения "переменная - член типа".
Поможет аналогия со структурой (record):

TYPE filerec = record {структура}
name : string;
number : integer;
list : array[1..10] of byte;
end;
VAR fr : filerec; {переменная}

Точно так же

TYPE filerec = object {класс}
public
name : string;
number : integer;
list : array[1..10] of byte;
procedure proc(i: int);
end;
VAR fr : filerec; {объект}

Marinavo_0507

Вот обсуждение этой темы в comp.lang.functional

Dmitriy71

Такая множественная характеризация -- не совсем корректна по отношению к принятой терминологии. Поясню: членом класса принято называть не "объект как элемент класса, рассматриваемого как множество", а нечто, что находится внутри самого класса, то есть член-поле, член-метод, член-событие или член-свойство. А об объекте класса говорят не как об элементе класса, а как о переменной, которая реализует класс.
2 , риспеееееееееект!

maggi14

с претензией частично согласен, вопрос терминологии. Я просто попытался объяснить сжато и доходчиво одновременно.

0000

Спасиба большое - стало яснее.
2: программы можно писать и без ООП, нефиг пальцы гнуть

garikus

Здесь всё написано:
ms-help://borland.bds3/bds3guide/html/ClassesAndObjectsOV.htm
А именно (в Delphi):
1. Class Types
A class, or class type, defines a structure consisting of fields, methods, and properties. Instances of a class type are called objects. The fields, methods, and properties of a class are called its components or members.

The class declaration syntax for Delphi for .NET is:

type
className = class [abstract | sealed] (ancestorType)
memberList
end;

...

2. Object Types
The Win32 Delphi compiler allows an alternative syntax to class types, which you can declare object types using the syntax:

type objectTypeName = object (ancestorObjectType)
memberList
end;

Object types are supported for backward compatibility only. Their use is not recommended on Win32, and they have been completely deprecated in the Delphi for .NET compiler.

...

garikus

программы можно писать и без ООП, нефиг пальцы гнуть
web-страница
Оставить комментарий
Имя или ник:
Комментарий: