![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Задали такую вот програмку:
1)создать класс с набором одноименных методов работающих по разному 2))создать класс, в котором реализовать любой метод и 3 потомка этого класса, в которых будет осуществлено статическое , динамическое, виртуальное перекрытия метода 3)создать род класс и класс потомок из класса потомка, класс родителей явл абстрактным в классе потомке абстрактный метод перекрывается 4)создать класс и метод в нем. В классе потомке перекрыть этот метод так чтобы его можно было вызвать из класса потомка и метод род и метод потомка Желательно, в Lasaruse, хотя можно и в Delphi(не велика разница) Все 4 пункта мона распихать по разным прогам Плиз, пипл не пройдите мимо))) |
#2
|
||||
|
||||
![]() Фраза из мультфильма:
- Так вы что за меня и есть будете? - Ага! Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Ща уржусь сосмеху
|
#4
|
|||
|
|||
![]() Итак первое:
Код:
type TMyClass = class private { Private declarations } public procedure MyMetod(str:string);overload; procedure MyMetod(str:string;i:integer);overload; procedure MyMetod(str:string;i:integer;j:boolean);overload; { Public declarations } end; Третье: Код:
type TAbClass = class private { Private declarations } public procedure MyMetod(str:string);virtual; abstract; { Public declarations } end; type TAb1Class = class(TAbClass) private { Private declarations } public procedure MyMetod(str:string);virtual; { Public declarations } end; |
#5
|
|||
|
|||
![]() Спасибище большое))) Но если можно, можно на каких нить конкретных примерах??? Заранее благодарен
|
#6
|
|||
|
|||
![]() Четвертое:
Код:
type T1Obj = class FExtData : Extended; procedure SetData(AValue: Extended);overload; end; T2Obj = class(T1Obj) FIntData : Integer; procedure SetData(AValue: Integer); overload; end; |
#7
|
|||
|
|||
![]() Хоть бы пива кто купил
![]() |
#8
|
|||
|
|||
![]() Слушай, а как их потом применять, в проге?
|
#9
|
||||
|
||||
![]() Помогайте еще больше таким вот неудачникам по жизни: ехе-шниками и с документацией. Придет время и поймете абсолютную безсмысленность этого.
И кстати они станут еще и начальниками над Вами, благодаря "папику" ![]() П.С.: раздел "Работа" поможет. Последний раз редактировалось Konrad, 03.11.2009 в 23:56. |
#10
|
|||
|
|||
![]() Ешки...Сам "пользователь" снизашел ко мне, чтоб постебаться... Крут, крут, ни чего не скажешь...Так держать)))
|
#11
|
|||
|
|||
![]() Код:
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls; type TAbClass = class(tform) Edit1: TEdit; Label1: TLabel; private { Private declarations } public procedure MyMetod(s:string);virtual; abstract; { Public declarations } end; type TAb1Class = class(TAbClass) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public procedure MyMetod(s:string);virtual; { Public declarations } end; var Ab1Class: TAb1Class; implementation { TAb1Class } procedure TAb1Class.MyMetod(S:string) ; begin Ab1Class.caption:=s; end; procedure TAb1Class.Button1Click(Sender: TObject); begin MyMetod ('Заработало))))))))'); end; initialization {$I Unit1.lrs} end. 3 так будет или я чет не то сделал? Последний раз редактировалось Admin, 04.11.2009 в 12:15. |
#12
|
|||
|
|||
![]() Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TMyClass = class private { Private declarations } public procedure MyMetod(str:string);overload; procedure MyMetod(str:string;i:integer);overload; procedure MyMetod(str:string;i:integer;j:boolean);overload; { Public declarations } end; TAbClass = class private { Private declarations } public procedure MyMetod(str:string);virtual; abstract; { Public declarations } end; TAb1Class = class(TAbClass) private { Private declarations } public procedure MyMetod(str:string);virtual; { Public declarations } end; T1Obj = class FExtData : Extended; procedure SetData(AValue: Extended);overload; end; T2Obj = class(T1Obj) FIntData : Integer; procedure SetData(AValue: Integer); overload; end; var Form1: TForm1; my:TMyClass; tab1:TAb1Class; my_t2obj:T2Obj; implementation {$R *.dfm} procedure TMyClass.MyMetod (str:string); begin ShowMessage(str); end; procedure TMyClass.MyMetod (str:string;i:integer); var j:integer; begin j:=0; while (j<=i) do begin ShowMessage(str); Inc(j); end; end; procedure TMyClass.MyMetod(str:string;i:integer;j:boolean); var k:integer; begin if j then begin k:=0; while (k<=i) do begin ShowMessage(str); Inc(k); end; end; end; procedure TAb1Class.MyMetod(str:string); begin ShowMessage(str); end; procedure T1Obj.SetData(AValue: Extended); begin ShowMessage('Extended'); end; procedure T2Obj.SetData(AValue: Integer); begin ShowMessage('Integer'); end; procedure TForm1.Button1Click(Sender: TObject); begin my.MyMetod('Hello'); my.MyMetod('Hello',3); my.MyMetod('Hello',3,false); end; procedure TForm1.Button2Click(Sender: TObject); begin tab1.MyMetod('I abstact'); end; procedure TForm1.Button3Click(Sender: TObject); begin my_t2obj.SetData(2); my_t2obj.SetData(2.25); end; end. |
#13
|
|||
|
|||
![]() Всё круто))) Спс огромное))) только вот Button2 выдает ошибку
Project1 rised exception class 'External: SIGSEGV' |
#14
|
|||
|
|||
![]() Это ошибка Lazarus, ничем не помогу.
Изучай тему:http://http://pascalgames.net/index.php?topic=241.15 |
#15
|
|||
|
|||
![]() Окей))) Спасибо большое)))
|