객체의 주요 세 가지 특성
객체의 동작: 객체에 어떤 작업을 적용할 수 있는지, 조명을 켜고 끄는 것이 동작입니다.
물체의 모양: 해당 방법을 적용했을 때 개체가 어떻게 반응하는지, 색상, 크기, 모양.
객체의 표현: 객체의 표현은 신분증과 동일하며 동일한 행동과 상태의 차이를 구체적으로 구분합니다.
객체 지향 모델
객체 지향 개념:
oop(객체 지향 프로그래밍)는 코드를 더 간결하고, 유지 관리하기 쉽고, 재현 가능성을 높일 수 있습니다.
클래스란 무엇인가요:
A 클래스는 동일한 속성과 서비스를 가진 객체의 모음입니다. 예를 들어 사람, 책, 배, 자동차는 모두 클래스에 속합니다. 프로그래밍 언어에서 클래스는 클래스에 속하는 객체에 대해 통일된 추상 설명을 만듭니다. a 별도의 프로그램의 경우 속성 설명과 서비스 부분을 포함하는 클래스 이름이 있어야 합니다.
객체란 무엇입니까?
객체는 시스템에서 객관적인 사건을 설명하는 개체입니다. 시스템을 구성하는 기본 단위입니다. *데이터와 코드는 엔터티*에 번들로 제공됩니다. 객체는 속성 집합과 이 속성 집합에서 작동하는 동작 집합으로 구성됩니다.
추상적인 관점에서 객체는 문제 영역이나 구현 영역에 있는 어떤 것의 추상화입니다. 이는 저장된 정보와 시스템에서 해당 사물이 수행하는 역할을 반영합니다. 이는 일련의 속성과 이러한 속성에 대해 작동할 권한이 있는 캡슐화 본체입니다. 객관적 세계는 객체와 객체 간의 연결로 구성됩니다.
클래스와 객체의 관계:
클래스와 객체의 관계는 몰드와 캐스팅의 관계와 같습니다. 클래스의 힘이 합쳐진 결과가 객체이고, 객체를 추상화한 것이 클래스입니다. 클래스는 동일한 특성(속성)을 가진 사람들과 동일한 동작을 가진 개체의 그룹을 설명합니다.
클래스, 속성 및 메소드
PHP에서 클래스를 정의하기 위한 구문 형식:
class classname [선택적 속성]{
public $property [=value];... //공용을 사용하여 선언 공개적으로 식별한 다음 변수에 값을 할당할 수도 있습니다.
function functionname (args){ //클래스 메서드의 멤버 함수
코드}...
//클래스 메서드(멤버) 함수)
}
객체 생성(클래스 인스턴스화): $Object name=new classname( )
객체의 속성 사용
클래스에서는 특수 포인터 $this에 액세스할 수 있습니다. 클래스에 전달될 때 작업이 변수를 설정하거나 액세스할 때 $this->name을 사용하여 참조합니다.
객체 생성
캡슐화 특성상 클래스를 정의한 후 new를 사용하여 선언합니다. 개체 데이터 중 개체는 호스트에서 사용할 수 없습니다. 프로그램 블록의 직접 액세스는 컨트롤 클래스의 데이터에 액세스하는 목적을 간접적으로 달성하기 위해 개체를 통해 클래스에 정의된 속성 및 동작 함수를 호출해야 합니다.
객체와 클래스의 관계
객체와 클래스의 관계:
객체는 실제로 존재하며 동적 자원을 차지합니다.
클래스는 객체의 청사진이며 정적 리소스를 차지할 수 있습니다.
객체 속성은 동적 리소스를 차지합니다
클래스(정적) 속성은 실제로 클래스 네임스페이스의 "전역 변수"입니다.
성능 고려 사항:
각 객체는 별도의 데이터 공간을 차지합니다
증가 호출 수준이 소비할 수 있음 실행 시간
메소드의 매개변수 형식 및 전달 방법
메소드의 매개변수는 기본 데이터 유형, 배열, 클래스 객체가 될 수 있습니다.
기본 데이터 유형: 값 전달
배열: 값 전달
클래스 객체: 참조 전달
생성자
생성자는 클래스에서 초기화 역할을 합니다.
생성자 생성 method는 이름이 __construct()여야 한다는 점을 제외하면 다른 함수와 동일합니다.
문법 형식: function __construct(parameter){
. . . . . . .
}
예:
class Person{
public $name;
public $sex;
public $age
function __construct($name,$sex,$age) ){
echo "나는 생성자입니다
"
$this->name=$name
$this->sex=$sex; age=$age;
}
출력 결과: 초기화
소멸자
객체가 범위를 벗어나면(예: 객체가 위치한 함수가 호출된 경우) 시스템이 자동으로 실행합니다. 소멸자. 종료하기 전에 소멸자에서 메모리를 해제해야 합니다.
Destructor__destruct 소멸자에는 매개변수가 없습니다
예: class person{
function _ _destruct()
{ echo "bye bye!" }
}
$ a=new person();
접근 유형
public Public(public 한정자) 클래스 내부와 외부에서 모두 접근 가능
private Private(private 한정자) 클래스 내부에서만 접근 가능
protected protected (보호 멤버 한정자) 서브클래스는 클래스 외부에 접근할 수 있지만
oop의 세 가지 중요한 특성
캡슐화, 상속, 다형성
캡슐화: 캡슐화는 객체를 만드는 것입니다. 속성과 동작이 결합됩니다. 하나의 단위로.
클래스를 캡슐화하는 데는 두 단계가 필요합니다. 첫 번째 단계는 클래스를 사유화하는 것입니다. 두 번째 단계는 set을 사용하여 값을 읽고 할당하는 것입니다.
이 방법의 장점은 클래스의 구현 세부 사항을 숨긴다는 것입니다. 클래스를 생성하고 제어성을 쉽게 추가하여 속성에 대한 불합리한 작업을 제한하고 코드 수정을 쉽게 만들고 유지 관리성을 향상시킵니다.
__get 및 __set
일반적으로 클래스를 비공개로 설정하는 것이 현실적인 논리에 더 부합합니다.
값을 얻고 저장하는 데 사전 정의된 두 가지 함수가 사용됩니다.
__get 일반적으로 도메인의 값을 가져옵니다.
__set 값을 일반적으로 도메인의 값으로 설정합니다.
__call 객체에 존재하지 않는 메소드를 호출하면 오류가 발생합니다. call() 이 메소드가 이 상황을 처리합니다.
현재 페이지 1/2 12다음 페이지
위 내용은 PHP 학습 내용을 포함한 PHP 학습 객체지향 코스웨어 페이지 1/2을 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.