Практика бөлім техникалық Қызметті дамыту негізгі



жүктеу 4,91 Mb.
бет55/91
Дата18.03.2022
өлшемі4,91 Mb.
#37853
1   ...   51   52   53   54   55   56   57   58   ...   91
ТРПО готовый

unit polimor_; interface

uses


Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;



type

TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit;

GroupBoxl: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Label1: TLabel;

Label2: TLabel; Button1: TButton; Button2: TButton;



procedure ButtonlClick(Sender:

TObject);



procedure Button2Click(Sender: TObject);

private

{ Private declarations }



public

{ Public declarations }



end; type

// базовый класс TPerson = class fName: string; // имя



constructor Create(name:string); function info:string; virtual;

end;


// класс Студент TStud = class(TPerson) fGr:integer; // топ номері

constructor Create(name:string;gr:integer); function info:string;

override;



end;

// класс мұғалім TProf = class (TPerson)

fdep:string; // название кафедры constructor Create(name :string;dep:string); function info:string; override;

end;

const

SZL = 10; // тізім өлшемі

var

Forml: TForm1;

List: array[l..SZL] of TPerson; // список n:integer =0; // адам саны тізім бойынша implementation

{$R *.DFM}



constructor TPerson.Create(name: string); begin

fName := name; end;



constructor TStud.Create(name:string;gr:integer) begin

inherited create(name); // базалық кластың конструкторын шақырыңыз

fGr := gr; end;

constructor TProf.create(name:string; dep:string); begin

inherited create(name); // базалық кластың конструкторын шақырыңыз

fDep := dep; end;

function

TPerson.Info:string; begin

result := fname; end; function TStud.Info:string; begin

result := fname + ' rp.' + IntToStr(fGr);



end;

function TProf.Info:string; begin

result := fname + ' каф.' + fDep;



end;

// Қосу түймешігін басыңыз

procedure TForml.ButtonlClick(Sender: TObject);

begin

if n < SZL then begin

// тізімді нысанға n: = n + l;



if Radiobuttonl.Checked

then // объект құрасыз TStud List[n]:=TStud.Create(Edit1.Text,StrToInt( Edit2.Text))

else // объект құрасыз TProf

List[n] :=TProf.Create(Edit 1.Text,Edit2.Text) ; /

/

енгізу өрістерін анықтаңыз



Edit1.Text := '' ; Edit2.Text := ' ';

Edit1.SetFocus; // өріс курсоры Тегі



end

else ShowMessage('Тізім толтырылды!');

end;

// тізім түймешігін басыңыз



procedure TForm1.Button2Click(Sender:

TObject); var

i:integer; // индекс

st:string; // тізім



begin

for i:=1 to SZL do

if list[i] < > NIL then st:=st + list[i].info + 113; ShowMessage('Cпиcoк'+#13+st); end;



end.

Қосу түймешігін басу арқылы басталатын TForml.Buttoniclick рәсімі TStud немесе TProf класының Тізімін [n]

жасайды. Жасалған нысанның класы RadioButton қосқышы күйімен анықталады. Switch to Student (RadioButton 1) параметрін TStud класын және Teacher (RadioButton2) позициясын, TProf класын анықтайды. Әрбір тізім объектісіне (массив элементі) ақпарат әдісін қолдана отырып, Button2 түймешігін басу арқылы басталған TForm1.Button2Click процедурасы бүкіл тізімді білдіретін жолды құрады.

Тапсырма

Жоғарыда келтірілген мысал үшін, бағдарламаны шығару тізімдері алфавиттік түрде сұрыпталатын етіп өзгертіңіз. Есепке тапсырма, бағдарламаның листингі және тест сұрақтарына жауап беру кіреді.



БАҚЫЛАУ СҰРАҚТАРЫ

    1. Тұжырымдаманы анықтаңыз: сынып, объект, мұра, инкапсуляция, полиморфизм.

    2. Негізгі және сабақтас сыныптарды қалай жариялауға болады?

    3. Сыныпты қалыптастыру деп аталатын не?

    4. Класс конструкторы қандай міндеттерді шешеді?

    5. Бұл әдіс виртуалды деп қалай атала




жүктеу 4,91 Mb.

Достарыңызбен бөлісу:
1   ...   51   52   53   54   55   56   57   58   ...   91




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау