![]() |
|
هل تعريف كائن object في باسكال صحيح بهذه الطريقة ؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : هل تعريف كائن object في باسكال صحيح بهذه الطريقة ؟ (/showthread.php?tid=9299) |
هل تعريف كائن object في باسكال صحيح بهذه الطريقة ؟ - sabre - 05-04-2018 أريد أن أعرف هل هذا اصحيح أريد أن أعرف هل هذا التعريف الذي وضعته و الكود سورس أيضا صحيح وشكرا بسم الله الرحمن الرحيم الصلاة السلام على رسول الله صلى الله عليه وسلم تعريف كائن object في باسكال هذا الكائن object يملك 8 مناهج Methodes الاول constructor وهو يقوم بحجز مساحة من الذاكرة للمتغييرين تابعين للكائن object بواسطة الكلمة المحفوظة New . والمنهج Methode الثاني هو destructor يقوم تحرير المساحة المحجوزة من الذاكرة للمتغييرين السابقين بواسطة الكلمة المحفوظة Dispose . والمنهج Methode الثالث يقوم بادخال قيمتين لعرضهما فيما بعد والمنهج Methode الرابع Addition يقوم بجمع القيمتين المدخلتين والمنهج Methode الخامس Soustraction يقوم بطرح القيمتين المدخلتين والمنهج Methode السادس Multiplucation يقوم بضرب القيمتين المدخلتين والمنهج Methode السابع Division يقوم بقسمة القيمتين المدخلتين والمنهج Methode الثامن Affiche يقوم بعرض القيمتين المدخلتين نصرح بمتغييرين من نوع الكائن هكذا var ca1: pcalc1 وداخل جسم االبرنامج نحجز مساحة من الذاكرة للكائن New(ca1, Initia); ثم نرسل القيم لعرضها ca1.Entree(12, 6) ثم نعرض القيم Dispose(ca1, Vide) كود : [left][code]
program ObTest;
{$APPTYPE CONSOLE}
type
pint = ^tint;
tint = integer;
pcalc1 = ^calc1;
calc1 = object
intA, intB: pint;
constructor Initia;
destructor Vide;
procedure Entree(a, b: tint);
function Addition: integer;
function Soustraction: integer;
function Multiplucation: integer;
function Division: integer;
procedure Affiche;
end;
{ calc1 }
procedure calc1.Entree(a, b: tint);
begin
intA^ := a;
intB^ := b;
end;
constructor calc1.Initia;
begin
New(intA);
New(intB);
end;
destructor calc1.Vide;
begin
Dispose(intB);
Dispose(intA);
end;
function calc1.Addition: integer;
begin
Result := intA^+intB^;
end;
procedure calc1.Affiche;
begin
WriteLn(intA^, ' + ', intB^, ' ',Addition);
WriteLn(intA^, ' - ', intB^, ' ',Soustraction);
WriteLn(intA^, ' * ', intB^, ' ',Multiplucation);
WriteLn(intA^, ' / ', intB^, ' ',Division);
end;
function calc1.Division: integer;
begin
Result := intA^ div intB^;
end;
function calc1.Multiplucation: integer;
begin
Result := intA^*intB^;
end;
function calc1.Soustraction: integer;
begin
Result := intA^-intB^;
end;
var ca1: pcalc1;
begin
New(ca1, Initia);
ca1.Entree(12, 6);
ca1.Affiche;
Dispose(ca1, Vide);
readln;
end.[/code] |