Posted on 2009/10/06 22:16
Filed Under Web(웹) Study/PHP

<?
  /*
    ** 추상 클래스 **

    상위 클래스에서 메소드(껍데기)만 구현하고, 하위 클래스에서 그 메소드를
    구현해야 한다.

    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();
?>

결과 :
한국어를 하다.
영어를 하다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기
2009/10/06 22:16 2009/10/06 22:16

트랙백 주소 : http://skystory.kr/trackback/564

댓글을 달아 주세요

[로그인][오픈아이디란?]

About

by 하늘이야기

Archive

Counter

· Total
: 1065678
· Today
: 776
· Yesterday
: 593
-->