Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2011, 11:13   #1
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию Классы, объекты,поля объектов

Собственно вопрос: Как я понял обьекты это конкретный экземпляр класса, но вот что такое поля оьектов понять не могу вообще. Можно пояснение для "чайника" дать, и если можно какой нить примерчик в гугле море информации по этому поводу - но не могу врубится в нее и все там
Mr_skiner вне форума Ответить с цитированием
Старый 10.03.2011, 12:15   #2
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

http://ru.wikipedia.org/wiki/Поле_класса
пыщь
JTG вне форума Ответить с цитированием
Старый 10.03.2011, 12:16   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

коротко говоря поля это внутренние данные объекта.

Код:
type
  TTestobj= class
  private
    Fnn: integer; // поле
  protected
    Flnk: TObject; // поле
  public
    Fmas: array of  integer; // поле

  procedure SetNum(anum:integer); //метод
  property num: integer read Fnn write SetNum; //свойство
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 10.03.2011, 12:39   #4
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию

это просто переменные что ли? а почему их так и не назвать тогда=) а то поля -поля
Mr_skiner вне форума Ответить с цитированием
Старый 10.03.2011, 13:00   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

потому что это не просто переменные.
это переменные класса.
вместо "переменные класса" говорят "поля класса"
и это вполне логично, в бланке например ведь вы поля заполняете а не переменные
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2011, 13:13   #6
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию

ну вот допустим у меня Класс бибилиотека, там поля название, год выпуска, жанр например, то есть поступать так же как и с переменными ж? создавать массив полей и заполнять, или я опять что то не догоняю
Mr_skiner вне форума Ответить с цитированием
Старый 10.03.2011, 13:23   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще то более корректно, завести класс Book
Код:
type
 TBook=class
  private
   FName,FAuthor:string;
  public 
   property Name read FName write FName;
   property Author read FAuthor write FAuthor;
  end;
тут я так же показал грамотный код, а именно, доступ к полям предоставляется минимальный(в данном случае извне никакой), а весь доступ к ним осуществляеться через св-ва.
вообще тут похорошему надо ставить конструктор, и в нем задавать значения автора и названия книги, а свойства брать только на чтение, мы ведь не переименновываем книги

отвлекся, так вот, теперь создаете массив:
ar:array of TBook;
инициализируете и заполняете:
Код:
SetLength(ar,5)
for i:=0 to Length(ar)-1 do 
 begin
  //инициализация объектов.
  ar[i]:=TBook.Create;
  //заполнение:
  //ar[i].Name:=
  //ar[i].Author:=
 end;
может стоит вам почитать книги?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.03.2011, 13:27   #8
Mr_skiner
Пользователь
 
Аватар для Mr_skiner
 
Регистрация: 21.05.2010
Сообщений: 56
По умолчанию

в том то и проблма что я гору перечитал уже- и толком ничего не понял -только еще больше запутался


пишет
property Name does not exist in base class что опять я упустил =)?

Последний раз редактировалось Mr_skiner; 10.03.2011 в 13:44.
Mr_skiner вне форума Ответить с цитированием
Старый 10.03.2011, 23:06   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
пишет
property Name does not exist in base class что опять я упустил =)?
[
Код:
property Name read FName write FName;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 10.03.2011, 23:07   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

кстати я пропустил тип свойства.
Код:
type
 TBook=class
  private
   FName,FAuthor:string;
  public 
   property Name:string read FName write FName;
   property Author:string read FAuthor write FAuthor;
  end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в дефли в функцию передаются объекты (классы) TwiX Общие вопросы Delphi 5 13.12.2010 23:17
Инкапсуляция. Классы и их компоненты. Объекты gessi Общие вопросы C/C++ 0 09.09.2010 16:05
TurboPascal: объекты и классы, прямоугольник с рамочкой ulala Помощь студентам 0 05.11.2009 17:28
TurboPascal: объекты и классы ulala Помощь студентам 1 28.10.2009 17:20
Чем отличаются классы от объектов в Delphi? JY_ Помощь студентам 1 25.01.2009 18:57