3.Св-ва,методы объектов.
ОБЪЕКТ-совокупность данных,их св-в, парам. Определённой
сущности и методов их обработки.
ПР:шарик:(цвет,форма,мА-териал,наполнение,размер,
объём),методы(создать,Лоп-нуть,надуть,сдуть),св-ва(
Красн.,зайчик,силикон,гелий,10*15*15,5 куб.мет.)
МЕТОД- действие или опера
ция над объектом или его
св-ми.
СВ-ВА- хар-ка объекта,его параметры, к-ые позволяют
выделить данный объект из мн-ва др. объектов.
2.Объекты, хар-ки объекта.
Виды отнош. и операций.
ОБЪЕКТ-совокупность данных,их св-в, парам. Определённой
Сущности и методов их обработки.
ИНДИВИДУАЛЬНОСТЬ-хар-а объекта, к-ая отличает его от
всех др. об.
СОСТОЯНИЕ об. - хар-а всех его св-в с текущими значениями
каждого из этих св-в.
ПОВИДЕНИЕе-хар-а того, как об.воздействует на др. об. или
подвергается воздей
ствию в терминах изме-нения его состояния и передачи
сообщений.
ОПЕРАЦИЯ-обслуживание,
Кот-ое объект предлагает
др. об.(клиентам)
Виды операций:
1 модификатор(изм. Состо-
яния об.)
2 селектор(даёт доступ к
состоянию об,но не изме-
няют его)(изм. Рост)
3 Итератор (даёт доступ к
содерж. Об. по частям в
определ. Порядке)(список
товаров)
4 Конструктор (создаёт об.
и инициализирует его пер-
воначальные состояния)
5 Деструктор(разрушает об., освобожд. Занимаемую память.
Взаимоотношение м/у об.:
1) СВЯЗЬ-физическая или понятийное соединение м/у об. Об.
сотрудничает с др. об. x/з соединяющую связь.
Виды связей:
–об. клиент вызывает операции об. постановщика
–один об. перемещает данные др. об.
Каждый из об. связи может играть след. роли:
–АКТЁР- об., к-ый взаимо-действует на др. об., но никогда не
подвержен воздействию др. об.
–СЕРВЕР- об.,к-ый никогда не возд. На др. об., только
используется др. об.
–АГЕНТ- об., к-ый может как воздействовать на др. об., так и
использ. ими (агент созд-ся для выполнения работы от имени
актёра или др. агента).
ПР:
ВАСЯ учится() НТГМК
(актёр)________ (сервер)
│
изучать()
│
учебн. Практ.
Дисципл. _______ раб. по
ТРПП иметь() ТРПП
(агент) (сервер)
2) АГРЕГАЦИЯ-обознач.
Отношение об. в иерархии
Целая часть, позволяет пе- ремещаться от целого (агрегата) к
его части (св-во).
Виды агрегации:
–Физ. включ. Части в целое.
ПР:авто(целое)-колесо, двигатель, кузов(часть).
–Нефиз. включ. (вкл. по ссылкам)
ПР:гр.НТГМК(целое)-сту-денты,староста,класс.рук. (часть).
4. Классы, хар-ки кл. Структура кл. Виды отнош.
КЛАССЫ-савокупность об., к-ые имеют одинаковые св-ва,
операции, отнош. и смысл.
Каждый об. – экземпляр кл.
Стр-ра кл.:
В каждом кл. выделяется реализация(внутр. предста- вление
кл.) и интерфейс (внеш. Представл. кл.)
ИНТЕРФЕЙС-объявляет возможности кл., скрывая его внутр.
стр-ру и пови-дения.
Интерф. состоит из объяв-лений операций, применя-емых к
экземплярам класса, включ. Объявление типов переменных,
констант, необходимых для данной абстракции.
Части интерф.:
–публичная(public)-объяв-ление, созданные в данной части
доступны всем клиентам.
–защищённая(protected)-объявление доступны толь-ко самому
классу и друзьям
ДРУГ КЛАССА-кл. или свободная подпрогр., к-ая имеет
доступ ко всем частям этого класса.
ПР:
животные(Свойства(окрас,размер,вес,порода)
Действия(рождаться,есть,умирать))
Млекопитающ
(приматы)( Св(-\-)
Действ(-\-, охотиться))
Кошачьи(лев,тигр)( Св(-\-длина шерсти,
есть когти и усы)
Действ(-\-, лазить))
Кошка Св(-\-,кличка)
Действ(-\-,мяукать)
Виды отнош. м/у кл.:
–ассоциация-фиксирует стр-ру отношения м/у экземплярами
кл.
–зависимость-отображение одного кл. на др.
–обобщение специализации (is a)
–целая часть(parf of)
Виды отнош. м/у кл. реализуемые в ОО языках:
–АССОЦИАЦИЯ-обеспеч. взаимодействие об., при-
надлежащих разным кл.
–НАСЛЕДОВАНИЕ-разно-видность отнош. обобще-ния
специализации. Одни классы наследуют св-ва и методы у др.
родственных кл.
–АГРЕГАЦИЯ-отношения целой части.
–ЗАВИСИМОСТЬ-фикси-рует отношение м/у клиентом и
сервером.
–КОНКРЕТИЗАЦИЯ-отн. Обобщ. Специализации для
некоторых языков прогр-ия.
–МЕТАКЛАСС- кл. классов
к-ый позволяет работать с кл. как с об., реализовано в
языках:closs и SmaleTelk.
–РЕАЛИЗАЦИЯ-определ. Отношение, при к-ом кл. приёмник
обеспеч. свою собственную реализацию интерфейса др. кл.
источника.
1. Принципы ООП: абстраг, инкапсул., мо-дульность,
насл., поли-формизм.
АБСТРАГИРОВАНИЕ-сво- дится к формированию абс-
тракций. Каждая абстр. Фиксирует осн. хар-ки об., позволяет
отличить данный об. от др. об. в рамках данной задачи.
ИНКАПСУЛЯЦИЯ-прин-цип ООПа, к-ый объеди- няет
описание структуры данных со св-ми и метода-ми данного об.
ПР:
Кошка(СВ.(окрас,порода), методы(рожд.,есть,умир.)
В ООП об. не рассм. Без своих св-в и методов.Хар-ть
об. можно только ч/з его св-ва. Об. может выполнять только те
действия, к-ые реализуемы как его методы.
МОДУЛЬНОСТЬ-вОО язы- ках абстракции кл-ов и об.
формируют лог. Структуру системы. Каждая из абс-тракций
помещается в от- дельный модуль, что поз-воляет уменьш.
сроки раз- работки и стоимость ПП за счет выделения
модулей, к-ые проектируются и измен. независимо.
НАСЛЕДОВАНИЕ-принц. ООП, при к-ом произ-водные об.
(потомки) насле-
Дуют св-ва и методы от об. родителей.(_-наслед св и мет)
ПР: кошка персицкая
св(окрас,вес,длина шерсти, особое стоение морды)
мет(род-ся,умереть,есть)
Принцип наслед. Позволяет упростить разработку ОО модели
за счёт определения св-в и методов, к-ые потомок наследует у
предка только для предка. При необходимости обращения к
данному св-ву или методу у потомка вызываются св-ва или
методы предка.
ПОЛИФОРМИЗМ-принцип ООП, при к-ом методу с
одинаковым именем вызы- вает различные поведения различ.
об.
ПР: Кошачьи (м:охотится())
Лев Кошка
(мет: (мет:
охотится()) охотится())
Переопределяемые методы называются динамич. Или
статическими.
12 Описание классов Delphi
объявление кл.:
type
TClass=class(TObject)(род.кл.)
A:Integer; (св-во)
Procedure B; (метод)
Ehd;
Private (Опубликованные. Объявл. св-ва и мет. недоступные
даже для кл. потомков es они описаны в др. модуле)
Published(-\-, к-ые доступны для др. кл. и об. не только на
момент выполн, но и на момент разработки)
Protected(Запрещённые.Св и мет. Доступны самому кл. и
любому его потомку в любом модуле)
Public(Открытые. -\- дос-тупны для любых об. в люб. Модуле)
Automated(-\-, к-ые добавл. К интерфейсу OLE)
End;
9.Структура модуля.Типы модулей.
Структура:
Unit <имя>;
Interface<интерф. часть>
Uses<список модулей>
Implementation<исполн. часть>
Initialization<иниц-ая часть>
Finalization<заверш часть>
End.
Типы:
–форма-модуль со связ. ним окном.
–модули данных- иеют связанные с ним окна, но они никогда
не появл. На экране
–-\-динамич биьлиотек.- предназн. Для подключения динамич.
Библиотек.
–пакеты- основным образом откомпликтованные библ.
Динамич. Библ-ек
–модули потоков команд- для реализ. потоков команд. –
фрагментов прогр., к-ые исполн. Паралл. С др. фрагментами.
7. Ст-ра проекта, его компоненты.
Program project1;
Uses
Forms;
Unit1 in “Unit1.pas”
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
End;
10. Типы данных.
1).Целые типы данных:
–Byte(0..255)
–ShortInt(-128…127)
–SmallInt(-32768..32767)
–Word(0..65535)
–Integer(-2147483648…
2147483647)
–longword(0..4294967295)
–Int64(-9(1018)..9(1018))
–Cardinal(0..2147483647)
Ф-ии:
Abs(x)-модуль
Random(x)-случ. Число(0.х-1)
Sqr(x)-корень
2)логич. Тип
–Boolean
–byteBoolean
–Bool
–Longbool
3)Символьный тип-хранит строку чисел от 0 до 255-String
4)вещественный
–Real точность 15-16 знаков после запятой диапозон 5*10(-
324) ..1,7*10(308)
–Single точность от 6 до 8 знаков диапозон 1,5*10(-
45)..3,4*10(38)
–Doble точность15,16 зн.
Диап. 5,0*10(-324).. 1,7*10(308)
–Extended точность 19,20 зн., диап. 3,4*10(-4951)..
1,1*10(4932)
–Currency+-922337203685477,5807
Ф-ии:
Arct(x)
Sin(x),cos(x),
Exp(x)
Frac(x)-факториал
Int(x)-целая часть
Ln(x)-логарифм
Random(x)-сл.число
Sqr(x)
TDatetime-время, представл
Как веществ число целой части, к-ого хранится кол-во суток
прошедших с 30 дек.1899 г.
Time-возвращ. текущее время.
WHERE (Reisi.Kod_reisa =:K_reisa)
AND (Reisi.Data_otpr=:Data_otpr)
WHERE Strana_proizv LIKE:str
var s1,s2,s3,s4:string;
begin
s1:=’Nacladn."Kol-vo_produc"*Nacladn.Zena_produc AS SUM,
'where Sclad.K_sklada =:sss';
datamodule2.Query4.Close;
datamodule2.Query4.SQL.
Clear;
datamodule2.Query4.SQL.
Add(s1);
datamodule2.Query4.SQL.
Add(s2);
datamodule2.Query4.SQL.
Add(s3);
if radiogroup1.ItemIndex=0 then
datamodule2.Query4.Open
else
begin
datamodule2.Query4.SQL.Add(s4);
datamodule2.Query4.ParamByName('sss').AsInteger:=strtoint(DBLoo
kupComboBox1.text);
datamodule2.Query4.Open;
end;
datamodule2.Query3.ParamByName('datanak').AsDate:=
datetimepicker1.Date;
rvproject2.Execute;
datamodule2.Query1.Active:=
False;
datamodule2.Query1.Active:=True;
case combobox1.ItemIndex of
0:datamodule2.Query1.Params
[0].AsString:=ComboBox1.Text;
1:datamodule2.Query1.Params
[0].AsString:=ComboBox1.Text;
2:datamodule2.Query1.Params
[0].AsString:=ComboBox1.Text;
3:datamodule2.Query1.Params
[0].AsString:=ComboBox1.Text;
4:datamodule2.Query1.Params
[0].AsString:=ComboBox1.Text;
5:datamodule2.Query1.Params
[0].AsString:=ComboBox1.Text;
begin
case radiogroup1.ItemIndex of
0:begin
DBLookupComboBox1.
Visible:=False;
DBLookupComboBox1.
Enabled:=False;
end;
1:begin
DBLookupComboBox1.
Visible:=True;
DBLookupComboBox1.
Enabled:=True;
end;
if (edit7.Text<>' ')and
(edit4.Text<>' ')
then edit8.Text:=floattostr(strtoint
(edit7.Text)*
(strtoint(edit4.Text)/100));[НДС]
if (edit3.Text<>'')and
(edit5.Text<>'') then
edit7.Text:=inttostr(strtoint
(edit3.Text)*strtoint(edit5.Text));
[ЦЕНА]
begin
datamodule2.Table4.Append;
datamodule2.Table4.Fields.