Форум: "Основная";
Текущий архив: 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