Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.11.2009, 21:20
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию Помогите плиз...С учебой завал(((

Задали такую вот програмку:
1)создать класс с набором одноименных методов работающих по разному
2))создать класс, в котором реализовать любой метод и 3 потомка этого класса, в которых будет осуществлено статическое , динамическое, виртуальное перекрытия метода
3)создать род класс и класс потомок из класса потомка, класс родителей явл абстрактным в классе потомке абстрактный метод перекрывается
4)создать класс и метод в нем. В классе потомке перекрыть этот метод так чтобы его можно было вызвать из класса потомка и метод род и метод потомка

Желательно, в Lasaruse, хотя можно и в Delphi(не велика разница)
Все 4 пункта мона распихать по разным прогам

Плиз, пипл не пройдите мимо)))
Ответить с цитированием
  #2  
Старый 03.11.2009, 22:01
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Фраза из мультфильма:
- Так вы что за меня и есть будете?
- Ага!
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 03.11.2009, 22:04
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Ща уржусь сосмеху
Ответить с цитированием
  #4  
Старый 03.11.2009, 22:26
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Итак первое:
Код:
1
2
3
4
5
6
7
8
9
10
11
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;

Третье:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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  
Старый 03.11.2009, 22:38
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Спасибище большое))) Но если можно, можно на каких нить конкретных примерах??? Заранее благодарен
Ответить с цитированием
  #6  
Старый 03.11.2009, 22:50
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Четвертое:
Код:
1
2
3
4
5
6
7
8
9
10
type
 T1Obj = class
  FExtData : Extended;
  procedure SetData(AValue: Extended);overload;
 end;
 
 T2Obj = class(T1Obj)
  FIntData : Integer;
  procedure SetData(AValue: Integer); overload;
 end;
Ответить с цитированием
  #7  
Старый 03.11.2009, 23:02
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Хоть бы пива кто купил
Ответить с цитированием
  #8  
Старый 03.11.2009, 23:05
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Слушай, а как их потом применять, в проге?
Ответить с цитированием
  #9  
Старый 03.11.2009, 23:52
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Помогайте еще больше таким вот неудачникам по жизни: ехе-шниками и с документацией. Придет время и поймете абсолютную безсмысленность этого.

И кстати они станут еще и начальниками над Вами, благодаря "папику"

П.С.: раздел "Работа" поможет.

Последний раз редактировалось Konrad, 03.11.2009 в 23:56.
Ответить с цитированием
  #10  
Старый 03.11.2009, 23:58
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Ешки...Сам "пользователь" снизашел ко мне, чтоб постебаться... Крут, крут, ни чего не скажешь...Так держать)))
Ответить с цитированием
  #11  
Старый 04.11.2009, 00:28
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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.
Admin: Пользуемся тегами для оформления кода!

3 так будет или я чет не то сделал?

Последний раз редактировалось Admin, 04.11.2009 в 12:15.
Ответить с цитированием
  #12  
Старый 04.11.2009, 21:52
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
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  
Старый 04.11.2009, 22:36
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Всё круто))) Спс огромное))) только вот Button2 выдает ошибку

Project1 rised exception class 'External: SIGSEGV'
Ответить с цитированием
  #14  
Старый 04.11.2009, 22:48
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Это ошибка Lazarus, ничем не помогу.
Изучай тему:http://http://pascalgames.net/index.php?topic=241.15
Ответить с цитированием
  #15  
Старый 04.11.2009, 22:53
rad412 rad412 вне форума
Прохожий
 
Регистрация: 03.11.2009
Сообщения: 9
Репутация: 10
По умолчанию

Окей))) Спасибо большое)))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025