🗊Презентация Расширение объектной модели Delphi (Глава 9)

Нажмите для полного просмотра!
Расширение объектной модели Delphi (Глава 9), слайд №1Расширение объектной модели Delphi (Глава 9), слайд №2Расширение объектной модели Delphi (Глава 9), слайд №3Расширение объектной модели Delphi (Глава 9), слайд №4Расширение объектной модели Delphi (Глава 9), слайд №5Расширение объектной модели Delphi (Глава 9), слайд №6Расширение объектной модели Delphi (Глава 9), слайд №7Расширение объектной модели Delphi (Глава 9), слайд №8Расширение объектной модели Delphi (Глава 9), слайд №9Расширение объектной модели Delphi (Глава 9), слайд №10Расширение объектной модели Delphi (Глава 9), слайд №11Расширение объектной модели Delphi (Глава 9), слайд №12Расширение объектной модели Delphi (Глава 9), слайд №13Расширение объектной модели Delphi (Глава 9), слайд №14Расширение объектной модели Delphi (Глава 9), слайд №15Расширение объектной модели Delphi (Глава 9), слайд №16

Вы можете ознакомиться и скачать презентацию на тему Расширение объектной модели Delphi (Глава 9). Доклад-сообщение содержит 16 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Глава 9 Расширение объектной модели Delphi
МГТУ им. Н.Э. Баумана
Факультет Информатика и системы управления
Кафедра Компьютерные системы и сети
Лектор: д.т.н., проф. 
	    Иванова Галина Сергеевна
Описание слайда:
Глава 9 Расширение объектной модели Delphi МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления Кафедра Компьютерные системы и сети Лектор: д.т.н., проф. Иванова Галина Сергеевна

Слайд 2





9.1 Свойства
Свойство - это средство Pascal Delphi, позволяющее определять интерфейс доступа к полям и методам класса. 
В Delphi различают: 
простые или скалярные свойства;
свойства-массивы;
индексируемые свойства или свойства со спецификацией index;
процедурные свойства.
Описание слайда:
9.1 Свойства Свойство - это средство Pascal Delphi, позволяющее определять интерфейс доступа к полям и методам класса. В Delphi различают: простые или скалярные свойства; свойства-массивы; индексируемые свойства или свойства со спецификацией index; процедурные свойства.

Слайд 3





Простые свойства
Используются для ограничения доступа к полю и при необходимости выполнения дополнительных действий при чтении и записи.
Property <Имя свойства>:<Тип> 
	[read <Метод чтения или имя поля>]
	[write <Метод записи или имя поля>]
	[stored <Метод или булевское значение>]
	[default <Константа>];
read - если метод чтения не определен, то свойство не доступно для чтения;
write - если метод записи не определен, то свойство не доступно для записи;
stored – для опубликованных свойств – хранить ли значение в файле формы .dfm;
default - – для опубликованных свойств – значение по умолчанию.
Описание слайда:
Простые свойства Используются для ограничения доступа к полю и при необходимости выполнения дополнительных действий при чтении и записи. Property <Имя свойства>:<Тип> [read <Метод чтения или имя поля>] [write <Метод записи или имя поля>] [stored <Метод или булевское значение>] [default <Константа>]; read - если метод чтения не определен, то свойство не доступно для чтения; write - если метод записи не определен, то свойство не доступно для записи; stored – для опубликованных свойств – хранить ли значение в файле формы .dfm; default - – для опубликованных свойств – значение по умолчанию.

Слайд 4





Простые свойства (2)
Пример:
	private FValue:integer;
            procedure SetValue(AValue:integer);
            function StoreValue:boolean;
    published 
        property Value:integer 
			read FValue write SetValue
            stored StoreValue default 10; . . .

Обращение в программе:
	A.Value := n;  {A.SetValue(n);}
	K := A.Value;  {K := A.FValue;}
Описание слайда:
Простые свойства (2) Пример: private FValue:integer; procedure SetValue(AValue:integer); function StoreValue:boolean; published property Value:integer read FValue write SetValue stored StoreValue default 10; . . . Обращение в программе: A.Value := n; {A.SetValue(n);} K := A.Value; {K := A.FValue;}

Слайд 5





Примитивный графический редактор (Ex 9.1)
Описание слайда:
Примитивный графический редактор (Ex 9.1)

Слайд 6





Объектная декомпозиция
Описание слайда:
Объектная декомпозиция

Слайд 7





Диаграмма классов предметной области
Описание слайда:
Диаграмма классов предметной области

Слайд 8





Модуль Figure
Unit Figure;
 Interface
  Uses  extctrls,Graphics;
  Type TMyFigure=class
       private    x,y,FRadius:Word;
          FColor:TColor; Image:TImage;
          procedure Clear;
          procedure SetSize(ar:word);
          procedure SetColor(aColor:TColor);
       public
          Constructor Create(aImage:TImage;
					ax,ay,ar:Word;aColor:TColor);
          Procedure Draw; virtual; abstract; 
          Property Radius:Word write SetSize;
          Property Color:TColor write SetColor;
        end;
Описание слайда:
Модуль Figure Unit Figure; Interface Uses extctrls,Graphics; Type TMyFigure=class private x,y,FRadius:Word; FColor:TColor; Image:TImage; procedure Clear; procedure SetSize(ar:word); procedure SetColor(aColor:TColor); public Constructor Create(aImage:TImage; ax,ay,ar:Word;aColor:TColor); Procedure Draw; virtual; abstract; Property Radius:Word write SetSize; Property Color:TColor write SetColor; end;

Слайд 9





Модуль Figure (2)
 TMyCircle=class(TMyFigure) 
		public   Procedure Draw; override;  
 end;
 TMySquare=class(TMyFigure)
      public   Procedure Draw; override;   
 end;
Implementation
   Constructor TMyFigure.Create;
      Begin
            inherited Create;
            Image:=aImage;
            x:=ax;    y:=ay;
            FRadius:=ar;   
			FColor:=aColor;
            Draw;
      End;
Описание слайда:
Модуль Figure (2) TMyCircle=class(TMyFigure) public Procedure Draw; override; end; TMySquare=class(TMyFigure) public Procedure Draw; override; end; Implementation Constructor TMyFigure.Create; Begin inherited Create; Image:=aImage; x:=ax; y:=ay; FRadius:=ar; FColor:=aColor; Draw; End;

Слайд 10





Модуль Figure (3)
Procedure TMyFigure.Clear;
  Var TempColor:TColor;
  Begin     TempColor:=FColor;
            FColor:=Image.Canvas.Brush.Color;
            Draw;   
            FColor:=TempColor;
  End;
Procedure TMyFigure.SetSize;
  Begin     Clear;     
			FRadius:=ar;     
			Draw; 
  End;
Procedure TMyFigure.SetColor;
   Begin    Clear;     
			FColor:=aColor;  
			Draw; 
   End;
Описание слайда:
Модуль Figure (3) Procedure TMyFigure.Clear; Var TempColor:TColor; Begin TempColor:=FColor; FColor:=Image.Canvas.Brush.Color; Draw; FColor:=TempColor; End; Procedure TMyFigure.SetSize; Begin Clear; FRadius:=ar; Draw; End; Procedure TMyFigure.SetColor; Begin Clear; FColor:=aColor; Draw; End;

Слайд 11





Модуль Figure (4)
Procedure TMyCircle.Draw;
  Begin     
      Image.Canvas.Pen.Color:=FColor;
      Image.Canvas.Ellipse(x-FRadius,y-FRadius, 
					         x+FRadius,y+FRadius);
  End; 

Procedure TMySquare.Draw;
  Begin     
     Image.Canvas.Pen.Color:=FColor;
     Image.Canvas.Rectangle(x-FRadius, y-FRadius, 
					         x+FRadius,y+FRadius);
  End;
End.
Описание слайда:
Модуль Figure (4) Procedure TMyCircle.Draw; Begin Image.Canvas.Pen.Color:=FColor; Image.Canvas.Ellipse(x-FRadius,y-FRadius, x+FRadius,y+FRadius); End; Procedure TMySquare.Draw; Begin Image.Canvas.Pen.Color:=FColor; Image.Canvas.Rectangle(x-FRadius, y-FRadius, x+FRadius,y+FRadius); End; End.

Слайд 12





Модуль Main
unit Main;
interface
uses  Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,ComCtrls, StdCtrls, ExtCtrls;
type
  TMainForm = class(TForm)
    Image: TImage;
    ColorButton: TButton;
    ExitButton: TButton;
    RadioGroup: TRadioGroup;
    rLabel: TLabel;
    rEdit: TEdit;
    UpDown: TUpDown;
    ColorDialog: TColorDialog;
Описание слайда:
Модуль Main unit Main; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics, Controls,Forms,Dialogs,ComCtrls, StdCtrls, ExtCtrls; type TMainForm = class(TForm) Image: TImage; ColorButton: TButton; ExitButton: TButton; RadioGroup: TRadioGroup; rLabel: TLabel; rEdit: TEdit; UpDown: TUpDown; ColorDialog: TColorDialog;

Слайд 13





Модуль Main (2)
	procedure FormActivate(Sender: TObject);
	procedure ImageMouseDown(Sender: TObject;… );
	procedure UpDownClick(Sender: TObject; …);
	procedure ColorButtonClick(Sender: TObject);
	procedure ExitButtonClick(Sender: TObject);
  end;
var MainForm: TMainForm;
implementation
uses Figure;
Var C:TMyFigure;
{$R *.dfm}
procedure TMainForm.FormActivate(Sender: TObject);
begin
    Image.Canvas.Brush.Color:=clWhite;
    Image.Canvas.Pen.Color:=clBlack;
end;
Описание слайда:
Модуль Main (2) procedure FormActivate(Sender: TObject); procedure ImageMouseDown(Sender: TObject;… ); procedure UpDownClick(Sender: TObject; …); procedure ColorButtonClick(Sender: TObject); procedure ExitButtonClick(Sender: TObject); end; var MainForm: TMainForm; implementation uses Figure; Var C:TMyFigure; {$R *.dfm} procedure TMainForm.FormActivate(Sender: TObject); begin Image.Canvas.Brush.Color:=clWhite; Image.Canvas.Pen.Color:=clBlack; end;

Слайд 14





Модуль Main (3)
procedure TMainForm.ImageMouseDown(Sender: TObject; Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
begin
  if Button=mbLeft then
    case RadioGroup.ItemIndex of
    0: begin
        C.Free;
		  C:=TMyCircle.Create(Image,X,Y,
		    strtoint(rEdit.Text),Image.Canvas.Pen.Color);
       end;
    1: begin
        C.Free;
		  C:=TMySquare.Create(Image,X,Y,
          strtoint(rEdit.Text),Image.Canvas.Pen.Color);
       end;
    end;
end;
Описание слайда:
Модуль Main (3) procedure TMainForm.ImageMouseDown(Sender: TObject; Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin if Button=mbLeft then case RadioGroup.ItemIndex of 0: begin C.Free; C:=TMyCircle.Create(Image,X,Y, strtoint(rEdit.Text),Image.Canvas.Pen.Color); end; 1: begin C.Free; C:=TMySquare.Create(Image,X,Y, strtoint(rEdit.Text),Image.Canvas.Pen.Color); end; end; end;

Слайд 15





Модуль Main (4)
procedure TMainForm.UpDownClick(Sender:TObject; 						Button:TUDBtnType);
	begin
  		if C<>nil then C.Radius:=strtoint(rEdit.Text);
	end;
procedure TMainForm.ColorButtonClick(Sender: TObject);
	begin
  		if ColorDialog.Execute then   
         Image.Canvas.Pen.Color:=ColorDialog.Color;
  		if C<>nil then C.Color:=Image.Canvas.Pen.Color;
	end;
procedure TMainForm.ExitButtonClick(Sender:TObject);
	begin   Close;  end;
initialization
finalization C.Free;
end.
Описание слайда:
Модуль Main (4) procedure TMainForm.UpDownClick(Sender:TObject; Button:TUDBtnType); begin if C<>nil then C.Radius:=strtoint(rEdit.Text); end; procedure TMainForm.ColorButtonClick(Sender: TObject); begin if ColorDialog.Execute then Image.Canvas.Pen.Color:=ColorDialog.Color; if C<>nil then C.Color:=Image.Canvas.Pen.Color; end; procedure TMainForm.ExitButtonClick(Sender:TObject); begin Close; end; initialization finalization C.Free; end.

Слайд 16


Расширение объектной модели Delphi (Глава 9), слайд №16
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию