Учебные материалы по математике | Делфи | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Делфи


Tupe

<name >=Class[<имя родителя ><поля методы св-во, события>

Public

Published

<поля, св-во>

Projected

<поля>

Private

<поля, методы, св-во, события >

End;

Внешний пользователь не имеет доступ к этим функциям …он не может не чего изменить и приписать ни удалить …. Общепринятые имена классов …начинать с приставки T …

Да заданий начальных значений …объекта должен использоваться конструктор …если вы не использовали конструктор своего класса …то используется предовский конструктор …Автоматом могут инициализироваться порядковые типы … нуль, байтовым …строки задаются пустыми, (‘ ’) …объявления методов не отличается от объявления процедур и функций …Поля данных должны были защищены от постороннего доступа … только через спец. Метода

Этот метод обязательно включает в себя чтения полей и так далее … тут бла бла бла …

Property <имя сво-во > : ДВОЕТОЧИЯ <Тип>

Read <имя поля, метод чтения >

Write<имя поля, метод записи >

<директива запоминания > вот так описывается свойство в нашем классе …

Имя свойство совпадает с индефекатором

В разделах Read and Write записано имя поля, то предполагается прямое чтения и запись … то чтения и запись … только при помощи функций с этими именами … и возвращаемый тип совпадает с полем с которым мы пишем свойство … имя функции чтения get and set …директива запоминания определяет значения свойство …файл форма с расширением (.dfm) служебное слово Default <значения >

Для примера создадим собственный класс..в классе мы будем описывать некоторые параметры о студенте института.

Создадим модуль (file/new/unit)названия MyClasses

Unit MyClasses

Interface

Uses SysUtils, Diaologs, Classes

Type

Tperson=class

Private

Fname:string;(фамилия имя отчество )

FDep:string (институт )

Fyear:word(дата рождения)

FSex:chat(пол)

FComment:string(понятно же что тут нужно комментировать )

Projected

Property SetSex(value. char)

PubLic

PropertyName:string read Fname write Fname;

PropertyDep:string read FDep write Fdep

PropertyYear:worl read Fyear write Fyear

PropertySex:char read Fsex write SetSex

Default ‘Мужык’

PropertyComment:string read FComment write FComment

End;

Implementation

Property Tperson. SetySex(valu. char)

Begin

If value in [‘мужык’,’жона’] then

Fsex:=Value

Else

ShowMessage(‘недопустимый символ ’+Value+’_в указатель ноль ’)

End;

End;

Var Pers:TPesson

(так как выделяется память )

Pers:Tperson. Create ;

Для удаления pers нужно в обработчике OnDestroy

Pers. Free;

Помещаем на форму 4 окна едит окно мемо для записи или чтения комента о студенте … лейбел сколько хочешь … две кнопки (чтения и записи данных в обьект …)еще можно третью кнопку очиски

 

Write Pers do

Name :=Edit1.Text;

If Edit2.Text<>’ ’then

Sex:Edit2.text[1]

Dep:=Edit3.text;

Year:=StrToInt(Edit4.text)

Comment:=Memo1.text;

End;

Конструктор и деструктор

Constructor Create

Begin

Inherited

Добавим созданный нами класс 2 новых поля (эти поля были скрыты в private )AgeMax and AgeMin в описания классов включим

uses … , DateUtile, {Year of}

tupe

TPerson:=Class

Private

Описания плей …пол, имя института и так далее

И + к этом … AgeMax and AgeMin (и у них тип word )

Protected

Procedure Set Year(value):word;

Public

(заполнения года и так далее )

Property Year: word read FYear write SetYear;

End;

Procedure Tperson, SetYear(…);

Var NewYear:word;

Begin

{мы должны показать текущий год … }

NewYear:=YearOf(Date);

If (удовлетворяет ли год который мы вытащили …лежит ли возраст …или просто сказать проверка возраста студента )…

(NewYear-Value>=AgeMin) and (NewYear-Value<=AgeMax)

Then Fyear:=Value else (« не возьмут возраст не совпал с разрешённым» )ибо без него … класс Tperson:=

Constructor Create

В раздели implementation

Constructor Tpers. Create

Const UnitNown=”неизвестный ”

Begin inherited

Fsex:=#0;

AgeMax:=#80;

AgeMin:=#14;

Fname:=UnKnow;

Fdep:=unknown;

End;

обычно Destructor создается тогда, когда в классе какой из методов..создает объект находящийся объект распределённый в памяти либо когда объект создает и хранит информацию (комментарии о студенте …)в класс TPerson который будет использоваться

FDoc:^TRichEdit;{ComContrls}

FileTMP:string;

А опчему бы не создать обьект внутри нашего класса..в классе TPERSON создать TRichEdit нельзя!!!!!

В Public записываем SetDoc(var value:TRichEdit-*-*-*-*-*-*-*-*,)

Для удаления временых файлов нужно создать деструкто задача его удалить временные файлы …обьевления деструктора помещаем в открытую часть класса..

Destructer Destroy;

Override;

Реализация это конструктора … Destructor Destroy;

Begin

If FileTmP<>”then DeleteFile(File TMP’);

21,05,12,9,17,45

Методы наследования классов операции с классами

Создадим 2 отрытых метода avetofile и loadtofile

As and Is – это бинарные операции левые части этих операций (обьект, класс)

Aasc — рассматривается как обьект класса С

Aisc –используется в операнде If

Относится ли операция к типу С

Мы уже говорили что родительские методы могут определены в потомках можно вызвать преопределённый метод предка inherited –мы вызывали конструкцию предка …потом можно вызвать конструктор предка…

Inherited Cruet :=<>;

Виртуальные методы полиморфизм, абстрактные классы

Классы : Статические, Виртуальные ….

По умолчанию все методы статические, если вы переопределяете статический метод в потомки …Знай!! То что измененный статический будет менять метод предка..не удобно с ними работать из-за того что подобный метод нужно во всех родственных классах переопределять … нужно увеличивать код!!!

Удобно решать с помощью виртуальных методов, то есть не надо указывать каждый раз какой метод для какого класса вы применяете система сама находит

Virtual и Dinamic

Чтобы перегрузить …Override …

Различи между статическим и виртуальным методом …виртуальные методы (эффективны с точки зрения Времени )

…статические методы(эффективны с точки зрения

памяти)

Абстрактный метод – это динамический или виртуальный метод реализация не определена …в чем его суть (Tstringsàтолько наследник )для обьеквления абстрактного метода нужно написать служебное слово ‘abstract’

Перегрузка виртуального метода ….для того что бы изменить тип или число параметров в виртуальном методе мы должны использовать

Пример!!!

Type

T1=class

Procedure что то тут не понятное написанное на доске!!!

Каждое приложение – должно хорошо конкретизирована …приложения (главное меню, инструментальной панели, контекстное меню (вываливается при нажатие правой кнопки мыши ), язычки подсказок, полоса состояния, файл справки )для исполнения такого кол-во инструментов …специальное технология разработки …речь идет о проектирование списка действий…этот список действий бла бла …

Создание проекта (создания списка действий сначала список может быть не полным …кстати мы неявно это делали )сейчас он расскажет что то делится на стандартные действия и не стандартные методы …и изобретать велосипед не имеет смысла … в делфи предусмотрены компоненты..централизованные управления действий …

При помощь централизованные компоненты …компонент диспетчер…но в делфи создано много для стандартных действий единственно что нужно вызвать диспетчер действий …ВЫ можем использовать действие «Экшен»в это свойство что то там бла бла … все в экшен (что то там!!!бесит уже!!!) КОМПАНЕНТ НАЗЫВАЕТСЯ ACTIOLIST

Этот компонент находится на вкладки стандарт у каждой визуальной компоненты возможно изображения которая выделяет ее из всех остальных для определение списка изображения используется ImageList ()

1)Составляется список действий

2)создается ImageList

3)создается список пиктограмм

3)на главную форму переносится ActionList

4)для стандартных действий основные действия создаются автоматом …

5)переносим мейн меню (соответствующая пиктограмм )

6)инструментальная панель связывается с ImageList обработчики событий нестандартных действий!!!делфи много изображений в каталоги Program FileCommon FileBorland SharedImagesButtons

Для ActionListà нужно свойство ImageList

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020

А ты боишься COVID-19?

 Пройди опрос и получи промокод