Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Как создать класс с ссылками на классы другие   Найти похожие ветки 

 
Леха   (2005-01-11 15:53) [0]

Нужно создать класс "Сотрудник фирмы", содержащий информацию о сотруднике: имя, фамилия, должность, стаж, оклад. Кроме того, каждый класс имеет две ссылки – на класс начальника и на массив подчиненных.
Про классы информации в книгах (даже серьезных по Делфи) практически ни чего нет. А про ссылки вообще точно нет.
Подскажите как эти ссылки создавать, куда вставлять и как их связывать. Буду рад любой помощи...может есть исходники с использованием классов или сайты посвященные классам в Делфи.

Вот мой код
type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

type
 TSotrudnik = class(TObject)
 public
//Имя, Фамилия, должность, стаж, оклад
 Name: String;
 LastName: String;
 position: String;
 experience: Integer;
 salary: double;
end;

type
 TBoss = class(TSotrudnik)
 public
end;

var
 Form1: TForm1;

//Указатель на адрес объекта
 Sotrudnik: TSotrudnik;
 Boss: TBoss;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
//Создание конструктором объекта
 Sotrudnik:= TSotrudnik.Create;
//Удаление конструктором объекта из памяти
 Sotrudnik.Destroy;
end;


 
begin...end ©   (2005-01-11 16:08) [1]

> Леха   (11.01.05 15:53)

> Про классы информации в книгах (даже серьезных по Делфи)
> практически ни чего нет. А про ссылки вообще точно нет.

Это Вы, тёзка, в лужу сказали.


 
Digitman ©   (2005-01-11 16:10) [2]


> Про классы информации в книгах (даже серьезных по Делфи)
> практически ни чего нет. А про ссылки вообще точно нет


чушь.


> как эти ссылки создавать, куда вставлять и как их связывать


"создавать" - читай любой учебник по ОР
"вставлять" - не иначе камк туда, куда тебе хочется.
"связывать" - это на любителя)


 
Семен Сорокин ©   (2005-01-11 16:12) [3]

type
TSotrudnik = class;
TBoss = class;

TSotrudnik = class(TObject)
private
  //Имя, Фамилия, должность, стаж, оклад
  Name: String;
  LastName: String;
  position: String;
  experience: Integer;
  salary: double;
  FBoss: TBoss;
public
  constructor Create(ABoss: TBoss);
  destructor Destroy;
  property CountChild: integer read GetCountChild;
  property Child[AIndex: integer]: TSotrudnik read GetChild; default;
end;

 TBoss = class(TSotrudnik)
 public
 end;

var
 Sotrudniki: TList;

initialization
 Sotrudniki := TList.Create;

finalization
 Sotrudniki.Free;


end;

> Sotrudnik.Destroy;

Sotrudnik.Free - так лучше

дальше за деньги :))
шутка, направление есть.


 
Mim1 ©   (2005-01-11 16:13) [4]

type
TBoss = class; // forward declaration
TSotrudnik = class(TObject)
public
//Имя, Фамилия, должность, стаж, оклад
Name: String;
LastName: String;
position: String;
experience: Integer;
salary: double;
boss:tboss;
end;

type
TBoss = class(TSotrudnik)
public
end;


 
Леха   (2005-01-11 16:14) [5]

Довольно объемная книга Делфи4 Роб Баас, Майк Фервай - 2 страницы об классах.
Стив Тейксер и Ксавье Пачеко Борланд Делфи4 Руководство разработчика - 1 стр.
Еще одна книга новая по 6 Делфи...автора не помню - страниц по более, но про ссылки ни чего не сказано. Да и примеров нет.

Обсудить я понял вы всегда пожалуйста, а помочь... (относится к Digitman и begin...end.


 
Леха   (2005-01-11 16:15) [6]

Mim1, и Семен Сорокин - спасибо. Сейчас буду пробовать.


 
begin...end ©   (2005-01-11 16:15) [7]

Кстати, необходимости использования классов пока не видно.

> [5] Леха   (11.01.05 16:14)

Не смешно.


 
Леха   (2005-01-11 16:17) [8]

Может необходимости нет. Я так тоже думаю, но препод думает иначе.


 
Ega23 ©   (2005-01-11 16:19) [9]

Обсудить я понял вы всегда пожалуйста, а помочь... (относится к Digitman и begin...end.

Списать, я понял, ты - всегда пожалуйста, а подумать....


 
Леха   (2005-01-11 16:24) [10]

Думать можно, когда есть от чего оттолкнуться (спасибо Mim1 и Семен Сорокину). А когда нет ни статей ни примеров.

Критиковать легко...все гуру...а подсказать слабо. Я что прошу за меня все сделать....нет...только пример или похожий код...ссылку...исходник...что-нибудь.


 
Ega23 ©   (2005-01-11 16:27) [11]

Думать можно, когда есть от чего оттолкнуться (спасибо Mim1 и Семен Сорокину). А когда нет ни статей ни примеров.
Вот эта твоя фраза:
Про классы информации в книгах (даже серьезных по Делфи) практически ни чего нет. А про ссылки вообще точно нет.
была ПОЛНОй чушью. Даже у Архангельского всё более-менее расписано.


 
Леха   (2005-01-11 16:30) [12]

Я привел книги, которые у меня есть. Да кстати последняя книга (я ее взял вчера, лежит дома, поэтому не помню автора) возможно и Архангельского, но точно про ссылки там информации нет.

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


 
begin...end ©   (2005-01-11 16:33) [13]

> [12] Леха   (11.01.05 16:30)

> Открой книги что я перечислил.

А Вы сами их открывали?

> а кто не прочь и помочь начинающим или нуждающимся в помощи

Я не прочь.


 
Леха   (2005-01-11 16:38) [14]

begin...end -  открывал. 174 стр.Борланд Делфи 4. Руководство разработчика. И все.

Делфи 4 Роб Баас, Майк Фервай - 227-234 - это с картинками и теорией.


 
Ega23 ©   (2005-01-11 16:38) [15]

Докажи что чужь. Открой книги что я перечислил.

Ты хочешь сказать, что в этих книгах нет ни слова про указатели? У Тейксеры и Пачеко?
А может всё дело в том, что кто-то весь семестр ..м груши околачивал, а теперь злобный препод не ставит зачёт (экзамен)? Так это не вопрос, всё решаемо. Я тебе по e-mail могу всё "на пальцах" расписать. И программу за тебя напишу. С комментарием к каждой строчке. Только вот не бесплатно.


 
Леха   (2005-01-11 16:40) [16]

begin...end - хотел бы помочь...помог бы а не разговаривал сейчас.


 
Леха   (2005-01-11 16:42) [17]

Ega23 - учусь заочно. Универ далеко, но я здаю контрольные быстрее всех. И сейчас только здав сессию, не одного хвоста уже готовлюсь к другой. Да и по программированию у нас была 1 пара 1.20 мин. всего.
Теперь понятно почему не помогаешь. Сначала деньги...потом код...а форум лишь реклама. Так?


 
Ega23 ©   (2005-01-11 16:48) [18]

Теперь понятно почему не помогаешь. Сначала деньги...потом код...а форум лишь реклама. Так?

Гы. Это фишка! :о)
Нет конечно, не с того живу. Да и не выйдет консенсуса с деньгами - счёта у меня нет, в Дубну ты не поедешь...
О! Есть идея! На мобильник положить можешь, на мой номер! :о)

А если серьёзно - возьми Тейксеру и Пачеко и читай с первой страницы. Только с первой, а не сразу на классы кидайся. Делай все примеры. Пробуй какие-то свои. И через пару недель ты начнёшь задавать КОНКРЕТНЫЕ вопросы, а не те, что достойны орешника.

З.Ы. По-поводу обид: я же не прошу тебя порубить за меня дрова?


 
Леха   (2005-01-11 16:51) [19]

Ega23 - я вроде тоже не прошу за меня выполнить контрольную. А в ней 10 заданий и это лишь семечки...на которых я "стал".
Тейксеру и Пачеко - у меня нет.
Вопрос конкретный. Кто хотел помог, кто хотел потрепаться а до нужного раздела форума не дошел...потрепался здесь.


 
Amoeba ©   (2005-01-11 16:55) [20]

Книжки в эл. виде найдешь здесь:
http://podgoretsky.com/pascal.html


 
begin...end ©   (2005-01-11 17:25) [21]

> [16] Леха   (11.01.05 16:40)

Могу и помочь. Например, я бы убрал из примера [3] объявление класса TBoss и заменил бы все слова TBoss на слова TSotrudnik, т.к., исходя из Ваших объяснений, непонятно, чем начальники отличаются от просто сотрудников.

А если они всё же отличаются, то немного, и поэтому можно было бы объявить общий класс-предок для TBoss и TSotrudnik (ведь, например, у каждого человека есть свойства "имя" и "возраст"), а тонкости уже прорабатывать в них.

Подчеркну ещё раз - на данном этапе нет смысла использовать ООП. Вот когда Ваши "начальники" и "подчинённые" начнут делать что-то со своими данными, т.е. когда в классе появятся ещё и методы, работающие с полями класса, - тогда уже в этом направлении можно будет подумать. А пока достаточно использовать обычную запись (record).

> [19] Леха   (11.01.05 16:51)

> Тейксеру и Пачеко - у меня нет.

А в своём сообщении [5] Вы говорили, что эта книга у Вас есть. А в [12] подтверждаете это: "Я привел книги, которые у меня есть". Противоречите сами себе?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.042 c
1-1104952226
STK
2005-01-05 22:10
2005.01.23
ShellListView как с ним работать


6-1099338319
JR
2004-11-01 22:45
2005.01.23
RAS -> BytesReceived


1-1105597853
Игорь нтк
2005-01-13 09:30
2005.01.23
Фиксированный размер формы


1-1104904307
rus9
2005-01-05 08:51
2005.01.23
Excel


1-1105433785
DDDeN
2005-01-11 11:56
2005.01.23
Сортировка в StringGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский