>  기사  >  백엔드 개발  >  PHP 클래스의 정의와 인스턴스화 방법은 무엇입니까

PHP 클래스의 정의와 인스턴스화 방법은 무엇입니까

青灯夜游
青灯夜游원래의
2021-11-18 11:06:022172검색

PHP에서는 클래스 키워드와 클래스 이름을 사용하여 클래스를 정의할 수 있습니다. 구문은 "[클래스를 수정하는 키워드] 클래스 클래스 이름 {클래스의 속성 및 메서드;}"입니다. 클래스를 정의하는 키워드입니다. 클래스는 "변수 이름 = 새 클래스 이름(매개변수 목록)" 구문을 사용하여 객체로 인스턴스화됩니다.

PHP 클래스의 정의와 인스턴스화 방법은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP 클래스 정의

PHP에서는 클래스 키워드와 함께 클래스 이름을 사용하여 그런 다음 중괄호 { }를 사용하여 클래스 본문에 정의된 클래스의 속성과 메서드를 래핑합니다. 클래스의 구문 형식은 다음과 같습니다.

[修饰类的关键字] class 类名{
    类的属性和方法;
}

클래스 이름, 변수 이름 및 함수 이름의 명명 규칙은 유사합니다. , 그리고 모두 PHP의 사용자 정의를 따라야 합니다. 이름 지정 규칙은 PHP 예약어가 아닌 유효한 태그일 수 있습니다. 법적 클래스 이름은 문자 또는 밑줄로 시작하고 그 뒤에 여러 문자, 숫자 또는 밑줄이 옵니다. 클래스 이름이 여러 단어로 구성된 경우 각 단어의 첫 글자를 대문자로 표시하는 것이 일반적입니다. 또한, 클래스 이름은 특정한 의미를 가지고 있어야 하며 단지 몇 글자로 구성되어서는 안 됩니다.

클래스를 수정하는 키워드는 선택적 매개변수로 생략 가능합니다. 일반적으로 클래스를 수정하려면 다음 키워드를 사용합니다.

  • abstract: 추상 클래스 또는 메서드. 추상 클래스로 수정된 후 클래스를 인스턴스화할 수는 없지만 상속할 수는 있습니다. 클래스의 메소드 중 하나 이상이 추상으로 선언된 경우 해당 클래스도 추상으로 선언되어야 합니다. 추상 클래스를 상속할 때 하위 클래스는 상위 클래스의 모든 추상 메서드를 재정의해야 하며 이러한 메서드의 액세스 제어는 상위 클래스와 동일해야 합니다.

  • final: final로 장식된 클래스는 상속될 수 없으며 final로 장식된 메서드는 하위 클래스에서 재정의될 수 없습니다.

참고: 클래스에는 자체 상수, 변수(클래스에서 "멤버 속성" 또는 "속성"이라고 함) 및 함수(클래스에서 "멤버 메서드" 또는 "메서드"라고 함)가 포함될 수 있습니다.

예:

자동차의 색상 및 가격을 포함한 속성으로 자동차 클래스를 정의합니다.

class car{

  public $color;     //定义属性

  public $price;

}

PHP 클래스의 인스턴스화

클래스의 인스턴스화를 객체 생성 또는 객체 인스턴스화 또는 변환이라고도 합니다. 클래스 인스턴스화.

클래스를 객체로 인스턴스화하는 것은 매우 쉽습니다. new 키워드를 사용하고 클래스 이름과 동일한 이름의 메서드를 추가하기만 하면 됩니다. 물론, 객체를 인스턴스화할 때 객체에 대한 매개변수를 전달할 필요가 없다면 괄호를 추가하지 않고 new 키워드 바로 뒤에 클래스 이름을 사용하면 됩니다.

객체의 인스턴스화 형식은 다음과 같습니다.

变量名 = new 类名(参数数列表);
或
变量名 = new 类名();

매개변수 설명은 다음과 같습니다.

  • 변수 이름: 클래스에서 생성한 객체의 참조 이름, 이를 통해 객체의 멤버에 액세스할 수 있습니다. name;

  • new: 새 객체가 생성됨을 나타내는 키워드

  • 클래스 이름: 새 객체의 유형을 나타냅니다.

  • 매개변수 목록: 지정된 클래스의 생성자가 사용됩니다. 클래스 함수에 정의된 생성자가 없으면 PHP는 자동으로 매개변수 없이 기본 생성자를 생성합니다. (나중에 자세히 소개하겠습니다.)

간단한 예를 들어보겠습니다.

인간 클래스를 정의하고 이 클래스를 인스턴스화합니다.

class Preson {                                  //定义了一个Preson类

public $name;                            //定义类的属性(姓名,性别,年龄等等)

public $age;

public $gender;

// public .....

}

//new翻译是新的,意思就是创建一个新的人,并把这个新的对象赋值给$Preson1,这个就是实例化

$Preson1 = new Preson();                 //实例化类

$Preson1->name = "张三";

$Preson1->age = 22;

$Preson1->gender = "女";

echo  $Preson1->name.'  '.$Preson1->age.'  '.$Preson1->gender;

//如果想输出第二个实例,直接输出就OK了,只要改一个变量名

$Preson2 = new Preson();                    //实例化类

$Preson2->name = "小亮";

$Preson2->age = 25;

$Preson2->gender = "男";

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 클래스의 정의와 인스턴스화 방법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.