PHP 클래스 사용

01 14, 2007 02:17

//class_1.php

<?
Class Sample_Class{         --->클레스 선언
   var $sum;                       --->맴버 선언

function Sample_Class($default_num){   --->생성자  함수 선언
   $this->sum=$default_num;              --->   this은 new 연산자에 의해 생성되는 객체 자신을 의미한다
  }                                                 --->     ->은 생성된 객체를 참조하기 위해 사용되는 지시 연산자이다.

function add($num){                       --->맴버 함수

   $this->sum+=$num;
  }

function minus($num){
   $this->sum-=$num;
  }
function return_value(){
   return $this->sum;
  }
}

?>


==================================

//  sample_1.php

<?
include "class_1.php";    -->include 해서 class_1.php 불러온다

$sample=new sample_class(100);   -->new 연산자를 이용하여 클래스 sample_class 객체를 생성하고 그값을 $sample이라는

                                                       변수로받았다 그리고 인수 100를 넘겨주어 생성자 함수를 통해 맴버변수 $this->sum의

                                                       값을 100으로 초기화 하였다.

$sample->Add(40);                       -->add 함수을 호출해서  인자를 40를 넘겨준다
$add_sum=$sample->return_value();  --> return_value함수를 호출하여 결과값을 받아 add_sum변수에 값을 준다.
echo "<h1>100에 40을 더한 값은 ".$add_sum."입니다.<h1><br>";
$sample->minus(50);
$minus_sum=$sample->return_value();
echo"<h1> ".$add_sum." 에서 50을 뺀 값은 ".$minus_sum." 입니다<h1>";
?>
===================================

클래스 상속이란 : class_1에서 선한 부모 클래스인 sample_class의 기능을 sample_2과 같이 자식 클래스인 sub_class에서 물려받아 그대로 사용 가능하도록 하는것이다. 즉 sample_class에서 선언된 맴버변수나 맴버함수가 자식 클래스인 sub_class의 맴버가 되어 자식 클래스에서도 사용할수 있다.

sample_2은 class_1에서 작성한 클래스인 sample_class를 상속 받아 다른 클래스인 sub_class를 생성시킨 것이다.

// sample_2.php

<?
include "class_1.php";    // 부모클래스sample_class 를 불러온다

class sub_class extends sample_class{  --> extends 가 바로 클래스를 상속 받기 위한 선언자이다.
      var $double=2;

function sub_class($default_num){    --> 자식 생성자 함수가 부모 생성자 함수의 인수(this->sum)를 초기화 시킨다.
        $this->sample_class($default_num);
      }
    function double(){  -->부모 클래스에서 맴버함수 sum를 상속받아 처리한다
      $this->sum*=$this->double;
     }
    function division(){
     $this->sum/=$this->double;
     }
     }
$sub=new sub_class(100);

$sub->double();
$double_sum=$sub->return_value();
echo"<h1>100의 곱은 ".$double_sum."이다.</h1><br>";

$sub->add(20);
$add_sum=$sub->return_value();
echo"<h1>".$double_sum."에서 20을 더한 값은 ".$add_sum."이다.</h1><br>";

$sub->division();
$division_sum=$sub->return_value();
echo"<h1>".$add_sum." 나누기 2는 ".$division_sum."이다.</h1>";
?>


브니 Programs/Web Programs

01 14, 2007 02:17 01 14, 2007 02:17
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다