PDA

View Full Version : مبتدی: مشکل در محاسبه محیط مستطیل



amiragha2
جمعه 26 مهر 1392, 19:44 عصر
سلام
من تازه دارم شی گرایی رو شروع می کنم،
این کدهای من هست برای محاسبه محیط و مساجت:


class masahat
{
function mohit($x,$y){
echo (($x+$y)*2);
}
function masahat($x,$y){
echo $x*$y;
}
}
$tool=5;
$arz=6;
$masahat=new masahat();
$masahat->masahat($tool,$arz);
echo "<br>";
$masahat->mohit($tool,$arz);
?>

حالا خروجیش اینطوریه:


030
22
همه چیش درسته ها، فقط یه صفر اول مساحت هست ینی باید 30 باشه، نه 030.
این مشکل از کجاست؟
ممنون

godofphp
جمعه 26 مهر 1392, 19:57 عصر
نام یک متد نباید هم نام کلاس باشه چون در این صورت اون متد بعنوان سازنده عمل میکنه و در ضمن من اینو اینطوری که شکل صحیح هست تست کردم و نتیجه رو درست نشون میده

<?php
class circle
{
function mohit($x,$y)
{
echo (($x+$y)*2);
}
function masahat($x,$y)
{
echo $x*$y;
}
}
$tool=5;
$arz=6;
$masahat=new circle();
$masahat->masahat($tool,$arz);
echo " ";
$masahat->mohit($tool,$arz);
?>

godofphp
جمعه 26 مهر 1392, 19:59 عصر
دلیل اون صفر هم اینه که چون متد مساحت با نام کلاس یکی بود متد مساحت بعنوان سازنده در نظر گرفته میشد و هنگام ساخت شی اجرا میشد و چون هیچ مقداری به متغیرهای پاس شده ارسال نمیشد آنها را صفر در نظر میگرفت و چاپ میکرد لطفا مبحث مخرب و سازنده ها را مطالعه کنید