프로그래밍 언어/PHP

[php] class 간의 상속, 개체 확장

sujo 2021. 5. 27. 23:24

[php] class 간의 상속, 개체 확장

 

특징

  • 부모 클래스(parent class)를 재사용하기 위함.
  • 자식 클래스(child class)라고도 불리는 하위 클래스는 부모 클래스의 모든 메서드와 속성을 가지고 시작하며, 각각을 수정하거나 추가 요소를 넣을 수 있다.

 

 

예제

[부모 클래스]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
//사람의 정보를 담은 부모 클래스
class Human {
    public $name;
    public $gender;
 
    //생성자를 이용한 객체 초기화
    public function __construct($name$gender)
    {
        $this->name = $name;
        $this->gender = $gender;
    }
 
    //클래스의 이름을 출력하는 함수
    public function print_class()
    {
        echo "\nThis class is Human Class\n";
    }
}
 
//Human 클래스 객체 
$human = new Human('Alice''other');
print_r($human);
$human->print_class();
 
?>
cs

 

[ 출력 결과 ]

 

 

[전체 코드]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
//사람의 정보를 담은 부모 클래스
class Human {
    public $name;
    public $gender;
 
    //생성자를 이용한 객체 초기화
    public function __construct($name$gender)
    {
        $this->name = $name;
        $this->gender = $gender;
    }
 
    //클래스 이름을 출력하는 함수
    public function print_class()
    {
        echo "\nThis class is Human Class\n";
    }
}
 
//부모 클래스를 상속한 학생 클래스
class Student extends Human {
    public $number;
    public $class;
 
    //생성자를 이용한 객체 초기화
    public function __construct($name$gender$number$class)
    {
        //부모 클래스를 이용한 초기화
        parent::__construct($name$gender);
        //자식 클래스의 인수 초기화
        $this->number = $number;
        $this->class = $class;
    }
 
    //클래스 이름을 출력하는 함수
    public function print_class()
    {
        echo "\nThis class is Student Class\n";
    }
}
 
//Alice에 대한 정보(human)
$human = new Human('Alice''female');
print_r($human);
$human->print_class();
 
echo "\n";
//Jackson에 대한 정보(student)
$student = new Student('Jackson''male'152);
print_r($student);
$student->print_class();
?>
cs

 

[ 출력 결과 ]