05-04-2018, 12:38 PM
أريد أن أعرف هل هذا اصحيح
أريد أن أعرف هل هذا التعريف الذي وضعته و الكود سورس أيضا صحيح
وشكرا
بسم الله الرحمن الرحيم
الصلاة السلام على رسول الله صلى الله عليه وسلم
تعريف كائن 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]
أريد أن أعرف هل هذا التعريف الذي وضعته و الكود سورس أيضا صحيح
وشكرا
بسم الله الرحمن الرحيم
الصلاة السلام على رسول الله صلى الله عليه وسلم
تعريف كائن 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]