<?
/*
** 추상 클래스 **
상위 클래스에서 메소드(껍데기)만 구현하고, 하위 클래스에서 그 메소드를
구현해야 한다.
CSpeak 클래스에서 speak()라는 추상 메소드를 구현 했으며, 하위 클래스의
CKor, CEng에서 각각 실제 기능이 있는 speak() 메소드를 구현 하였다.
*/
abstract class CSpeak
{
abstract public function speak();
public function write()
{
$this->speak();
}
public function __set($name, $value) { $this->{$name}=$value; }
public function __get($name) { return $this->{$name}; }
}
class CKor extends CSpeak
{
public function speak()
{
echo "한국어를 하다.<br>";
}
}
class CEng extends CSpeak
{
public function speak()
{
echo "영어를 하다.<br>";
}
}
/*
class CJpn extends CSpeak
{
// 추상 메소드를 구현하지 않았기 때문에 에러가 난다.
}
*/
$kor = new CKor();
$eng = new CEng();
$kor->write();
$eng->write();
?>
결과 :
한국어를 하다.
영어를 하다.
/*
** 추상 클래스 **
상위 클래스에서 메소드(껍데기)만 구현하고, 하위 클래스에서 그 메소드를
구현해야 한다.
CSpeak 클래스에서 speak()라는 추상 메소드를 구현 했으며, 하위 클래스의
CKor, CEng에서 각각 실제 기능이 있는 speak() 메소드를 구현 하였다.
*/
abstract class CSpeak
{
abstract public function speak();
public function write()
{
$this->speak();
}
public function __set($name, $value) { $this->{$name}=$value; }
public function __get($name) { return $this->{$name}; }
}
class CKor extends CSpeak
{
public function speak()
{
echo "한국어를 하다.<br>";
}
}
class CEng extends CSpeak
{
public function speak()
{
echo "영어를 하다.<br>";
}
}
/*
class CJpn extends CSpeak
{
// 추상 메소드를 구현하지 않았기 때문에 에러가 난다.
}
*/
$kor = new CKor();
$eng = new CEng();
$kor->write();
$eng->write();
?>
결과 :
한국어를 하다.
영어를 하다.
'Web(웹) Study > PHP' 카테고리의 다른 글
PHP 함수정리 (0) | 2009.10.06 |
---|---|
무조건 알아야 할 PHP 속도 테스트 14 가지 (0) | 2009.10.06 |
PHP 언어 문법 함수 정리 (0) | 2009.10.06 |
PHP 에서 MSSQL 접속하는 방법 (셋팅방법, 윈도우 XP) (0) | 2009.10.06 |
PHP - GD로 이미지 합치기 텟트 출력 (0) | 2009.10.06 |