PDA

View Full Version : آموزش: تفاوت Abstract و Interface.



Yousha
شنبه 29 بهمن 1390, 09:49 صبح
سلام

تفاوت Abstract و Interface:

http://forum.iranphp.org/showthread.php?tid=3688

لینک گذاشتم چون نمیشه کپی شون کرد

mtchabok
شنبه 29 بهمن 1390, 16:08 عصر
abstract هم میتونه قبل از class باشه و هم میتونه قبل از function :
منظور از این واژه این هست که در کلاس فرزند باید این متد وجود داشته باشد و باید طبق الگوی والد هم ایجاد بشه .
اگر abstract و یا interface در قبل از class بیاد اون کلاس قابلیت شئی سازی دیگه نداره و فقط میتونیم از فرزندش شئی بسازیم .
interface هم در قبل از class برای این تعریف میشه تا متدهای موجود در کلاس به عنوان یه الگوی در نظر گرفته بشن و در کلاسهای دیگه میتونید با استفاده از implements در این کلاسها استفاده کنیم .

<?php
abstract class A{

abstract public function func1($var1);

public function func2($var1){
echo $var1;
}
}

interface class B{
abstract public function func3($var1);
abstract public function func4($var1);
}

class C extends A implements B{
public function func1($newVar1){ }
public function func3($newVar1){ }
public function func4($newVar1){ }
}