Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

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

 
Леха   (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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.028 c
6-1099066504
KirGus
2004-10-29 20:15
2005.01.23
Трабла с WebBrowser


4-1102348467
Sirus
2004-12-06 18:54
2005.01.23
Возможно ли отловить сохранение изменений в реестре Windows?


9-1095732632
Jus
2004-09-21 06:10
2005.01.23
Хочу написать игру лоде-рунер(с редактором карт)на движке DelphiX


6-1098573785
nsvi
2004-10-24 03:23
2005.01.23
Вопрос по WebBrowser


4-1100617539
grigory
2004-11-16 18:05
2005.01.23
чтение FAT