프로퍼티
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"; // 앨리스
echo $student2->name . "\n"; // 밥
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 파일은 두 명의 학생을 생성하고 그들의 정보를 출력하여 클래스를 테스트합니다.
치트 시트
프로퍼티는 클래스에 속하며 객체의 상태에 대한 정보를 저장하는 변수입니다. 프로퍼티는 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();
$student1->setInfo("Alice", 20);
echo $student1->name; // Alice
echo $student1->school; // PHP Academy기본값이 있는 프로퍼티는 모든 객체에 대해 동일하게 시작합니다. 메서드를 통해 설정된 프로퍼티는 각 객체마다 고유합니다.
직접 해보기
<?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요약 - 커스텀 컬렉션