//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>"; ?>
|