최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

■ 백엔드 ■/PHP

php oop의 기본3

serpiko 2014. 2. 2. 00:30

  php 클래스의 기본3

 

앞의 내용에 이어서 클래스의 상속에 대해 알아본다.

 

 

  자동차 클래스에 블랙박스를 부착

 

앞에서 블랙박스를 만들었으니 자동차에 부착시켜보자

 

extends 메서드를 사용해서 is a상속을 하면된다.

 

is a 상속 = A extends B : A는 B이다.

 

has a 상속 = A클래스 안에서 B클래스를 생성했을 경우 : A는 B를 포함하고 있다.

 

<?php
header("Content-type:text/html;charset=utf-8");

class BlackBox{

	public function __construct(){}

	public function actionRec($bool=true)
	{
		if($bool) echo "블박 녹화 중 <br />";
		else echo "블박 녹화 종료  <br />";
	}
}

class CarClass extends BlackBox{

	public static $carType = '세단';
	const color = "Red";

	private $doArr = array("accel"=>"가속","brake"=>"정지");

	public function CarClass()
	{
		echo "CarClass constructor <br />";
		$this->actionRec();
	}

	public function info()
	{
		//print self::$carType . "<br />";
		print self::color . "<br />";
	}

	public function handler($pedal)
	{	
		$doArr = $this->doArr;
		echo $doArr[ $pedal ] . "<br />";
	}
}

$a = new CarClass();

echo CarClass::$carType ."<br />";
$a -> info();
$a -> handler("accel");
?>

 

나머지 설명은 앞의 1,2포스팅을 참고하고 여기서 주목해야 할것은 아래 두 부분 밖에 없다.

 

15 : CarClass extends BlackBox - CarClass는 BlackBox이다. (A는 B이다)

 

25 : CarClass는 BlackBox가 가지고있는 기능인 actionRec 기능을 가지고 있으므로 마치 자기것 처럼 쓰기만 하면 된다.

      단 접근할때는 2장에서 설명했듯이 클래스 내부 접근을 위해서 반드시 '$this->메서드/변수' 로 접근하면 된다.

 

  출력 결과

 

carClass constructor
블박 녹화 중
세단
Red
가속

 

'■ 백엔드 ■ > PHP' 카테고리의 다른 글

php-excel-reader 적용하기  (0) 2014.02.04
php-excel-reader Document  (0) 2014.02.04
php oop의 기본2  (0) 2014.02.02
php oop의 기본  (0) 2014.02.01
달력php -> js -> jquery  (0) 2013.12.31
댓글