프로퍼티
Coddy PHP 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 91개 중 6번째.
프로퍼티는 클래스에 속하는 변수입니다. 이들은 객체의 상태에 대한 정보를 저장합니다. PHP에서 프로퍼티는 public과 같은 가시성 키워드를 사용하여 클래스 내부에서 선언되어야 합니다.
프로퍼티는 기본값을 가질 수 있습니다. 모든 새로운 객체는 동일한 초기값으로 시작하지만, 각 객체는 자신만의 독립적인 복사본을 유지합니다:
<?php
class Student {
public $school = "PHP Academy"; // 기본값
public $name;
public $age;
}기본값이 없는 속성은 직접 설정하기 전까지 null로 시작합니다.
메서드와 $this를 사용하여 속성 값을 설정할 수 있습니다:
class Student {
public $school = "PHP Academy";
public $name;
public $age;
public function setInfo($name, $age) {
$this->name = $name; // 인스턴스 데이터 설정
$this->age = $age; // 인스턴스 데이터 설정
}
}학생 객체를 생성하고 각각의 데이터를 설정합니다:
$student1 = new Student();
$student2 = new Student();
$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);속성에 접근하기:
echo $student1->name . "\n"; // Alice
echo $student2->name . "\n"; // Bob
echo $student1->school . "\n"; // PHP Academy
echo $student2->school . "\n"; // PHP Academy출력:
Alice
Bob
PHP Academy
PHP Academy주요 차이점: 기본값이 있는 속성($school과 같은)은 모든 객체에 대해 동일한 값으로 시작합니다. 메서드를 통해 설정된 속성($name 및 $age와 같은)은 각 객체마다 고유합니다.
챌린지
쉬움student.php 파일의 Student 클래스를 완성하세요:
- 기본값이
"PHP Academy"인$school속성을 선언하세요 $name과$age속성을 선언하세요 (기본값 없음)$name과$age매개변수를 받아$this를 사용하여 설정하는setInfo메서드를 추가하세요
driver.php 파일은 두 명의 학생을 생성하고 그들의 정보를 출력하여 클래스를 테스트합니다.
직접 해보기
<?php
require_once 'student.php';
$student1 = new Student();
$student2 = new Student();
$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);
echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
객체 지향 프로그래밍의 모든 레슨
8매직 메서드
매직 메서드 소개__toString 및 __debugInfo__get, __set, __isset, __unset__call 및 __callStatic__clone 및 객체 복제__serialize 및 __unserialize요약 - 커스텀 컬렉션