Форум по 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
По умолчанию

Итак первое:
Код:
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  
Старый 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
По умолчанию

Четвертое:
Код:
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
По умолчанию

Код:
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
По умолчанию

Код:
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, время: 23:09.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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