>백엔드 개발 >PHP 문제 >PHP 객체 인스턴스화는 무엇을 의미합니까?

PHP 객체 인스턴스화는 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2022-04-11 19:40:522769검색

PHP에서 객체 인스턴스화는 클래스를 객체로 인스턴스화하는 것, 즉 클래스를 사용하여 객체를 생성하는 과정을 의미하며, 이는 추상에서 구체적으로 진행되는 과정입니다. new 키워드를 사용하고 동일한 키워드를 추가하면 됩니다. name을 클래스 이름으로 사용하여 메소드를 "변수 이름 = 새 클래스 이름(매개변수 목록);" 구문으로 인스턴스화할 수 있습니다. 객체에 대한 매개변수를 전달하지 말고 매개변수 목록을 생략할 수 있습니다.

PHP 객체 인스턴스화는 무엇을 의미합니까?

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

PHP에서 객체 인스턴스화는 클래스를 객체로 인스턴스화하는 것을 의미합니다, 즉 클래스를 사용하여 추상적인 개념을 구체적인 객체로 변환하는 과정입니다.

클래스를 객체로 인스턴스화하는 것은 매우 쉽습니다. new 키워드를 사용하고 클래스 이름과 동일한 이름의 메서드를 추가하기만 하면 됩니다.

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

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

물론 객체를 인스턴스화할 때 객체에 대한 매개변수를 전달할 필요가 없다면 추가하지 않고 새 키워드 바로 뒤에 클래스 이름을 사용하면 됩니다. 괄호.

变量名 = new 类名;

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

  • 변수 이름: 클래스에서 생성된 개체의 참조 이름, 이 이름을 통해 개체의 멤버에 액세스할 수 있습니다.

  • new: 다음을 나타내는 키워드입니다. 새 객체를 생성하려는 경우

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

  • 매개변수 목록: 지정된 클래스의 생성자 메소드가 객체의 값을 초기화하는 데 사용됩니다. 클래스에 정의된 생성자가 없으면 PHP는 매개변수에 대한 기본 생성자가 없는 생성자를 자동으로 생성합니다.

객체 데이터 캡슐화의 특성으로 인해 객체 속성(클래스에 정의된 변수)은 기본 프로그램 블록에서 직접 액세스할 수 없습니다. 이를 위해서는 클래스에 정의된 속성 및 동작 함수를 객체를 통해 호출해야 합니다. 간접적으로 컨트롤 클래스의 데이터에 액세스하는 목적입니다.

예:

<?php
    //声明一个电话类Phone
    class Phone {               
        //类中成员同上(略)
    }
    
    // 声明一个人类Person
    class Person {                  
        //类中成员同上(略)
    }
    //通过Person类实例化三个对象$person1、$person2、$person3
    $person1 = new Person();        //创建第一个Person类对象,引用名为$person1
    $person2 = new Person();        //创建第二个Person类对象,引用名为$person2
    $person3 = new Person();        //创建第三个Person类对象,引用名为$person3
    //通过Phone类实例化三个对象$phone1、$phone2、$phone3
    $phone1 = new Phone();          //创建第一个Phone类对象,引用名为$phone1
    $phone2 = new Phone();          //创建第二个Phone类对象,引用名为$phone2
    $phone3 = new Phone();          //创建第三个Phone类对象,引用名为$phone3

객체의 멤버에 대한 액세스

클래스에는 멤버 속성과 멤버 메서드라는 두 부분이 포함되어 있습니다. "new" 키워드를 사용하여 객체를 만들 수 있습니다. 객체의 멤버 속성이나 멤버 메서드에 액세스하려면 특수 연산자 "->"를 사용할 수 있습니다. 예:

$引用名 = new 类名(构造参数);

객체의 멤버가 정적이 아닌 경우 이것이 해당 멤버에 액세스할 수 있는 유일한 방법입니다.

객체와 클래스 간의 관계:


객체는 실제로 존재하며 동적 리소스를 차지합니다.

클래스는 객체의 청사진이며 정적 리소스를 차지할 수 있습니다.

객체 속성은 동적 리소스를 차지합니다.

클래스(정적) 속성은 실제로 클래스 네임스페이스의 "전역 변수"입니다.

성능 고려 사항:

각 객체는 별도의 데이터 공간을 차지합니다.

호출 수준 증가로 인해 실행 시간이 소모될 수 있습니다

추천: "

PHP 비디오 튜토리얼

"

위 내용은 PHP 객체 인스턴스화는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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