백엔드 개발 PHP 문제 php oop은 무슨 뜻인가요?

php oop은 무슨 뜻인가요?

Jan 26, 2022 am 10:16 AM
oop php

php oop는 객체 지향 프로그래밍을 말합니다. 객체 지향 프로그래밍(OOP)에서 객체는 정보와 정보 처리 방법에 대한 설명으로 구성된 전체입니다.

php oop은 무슨 뜻인가요?

이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php oop는 무엇을 의미하나요?

PHP 객체 지향

객체 지향 프로그래밍(영어: 객체 지향 프로그래밍, 약어: OOP)에서 객체는 정보와 그 정보를 처리하는 방법에 대한 설명으로 구성된 전체입니다. 현실의 추상화.

현실 세계에서 우리가 마주하는 것은 컴퓨터, 텔레비전, 자전거 등의 사물입니다.

객체의 세 가지 주요 특징:

  • 객체 동작: 객체에 적용할 수 있는 작업, 조명을 켜고 끄는 동작이 있습니다.

  • 물체의 모양: 해당 방법을 적용했을 때 물체가 반응하는 방식, 색상, 크기, 모양.

  • 사물의 표현: 사물의 표현은 신분증과 동일하며, 특히 동일한 행동과 상태의 차이를 구별합니다.

예를 들어, Animal은 개와 양을 지정할 수 있는 추상 클래스이고, 개와 양은 색상 속성을 가지며, 쓸 수 있고, 달릴 수 있으며 기타 동작 상태를 갖습니다.

객체 지향 콘텐츠

클래스 - 사물의 추상적인 특성을 정의합니다. 클래스의 정의에는 데이터의 형식과 데이터에 대한 작업이 포함됩니다.

Object - 클래스의 인스턴스입니다.

멤버 변수 - 클래스 내부에 정의된 변수입니다. 이 변수의 값은 외부 세계에는 보이지 않지만 멤버 함수를 통해 액세스할 수 있습니다. 클래스가 개체로 인스턴스화되면 변수는 개체의 특성이 될 수 있습니다.

Member 함수 - 클래스 내부에 정의되어 개체의 데이터에 액세스하는 데 사용할 수 있습니다.

상속 - 상속은 하위 클래스가 상위 클래스의 데이터 구조와 메서드를 자동으로 공유하는 메커니즘입니다. 클래스를 정의하고 구현할 때 기존 클래스를 기반으로 할 수 있고, 기존 클래스에서 정의한 콘텐츠를 자신의 콘텐츠로 가져와서 새로운 콘텐츠를 추가할 수 있습니다.

부모 클래스 - 클래스는 다른 클래스에 의해 상속됩니다. 이 클래스는 부모 클래스, 기본 클래스 또는 슈퍼 클래스라고 부를 수 있습니다.

하위 클래스 - 다른 클래스를 상속하는 클래스를 하위 클래스라고 부르거나 파생 클래스라고도 합니다.

다형성 - 다형성은 동일한 함수나 메서드가 여러 유형의 객체에 작용하여 다른 결과를 얻을 수 있음을 의미합니다. 동일한 메시지를 수신할 때 서로 다른 객체가 서로 다른 결과를 생성할 수 있는 현상을 다형성이라고 합니다.

오버로딩 - 간단히 말해서, 이름은 같지만 매개변수 목록이 다른 함수나 메소드를 오버로딩된 함수 또는 메소드라고 합니다.

추상화 - 추상화는 일관된 데이터 구조(속성)와 동작(작업)을 가진 객체를 클래스로 추상화하는 것을 의미합니다. 클래스는 관련 없는 콘텐츠를 무시하면서 애플리케이션과 관련된 중요한 속성을 반영하는 추상화입니다. 모든 클래스의 구분은 주관적이지만 특정 응용 프로그램과 관련되어야 합니다.

Encapsulation − 캡슐화는 현실 세계에 존재하는 객체의 속성과 동작을 바인딩하여 논리 단위 내에 배치하는 것을 의미합니다.

Constructor - 객체를 생성할 때 객체를 초기화하는 데 주로 사용됩니다. 즉 객체 멤버 변수에 초기 값을 할당하는 데 사용됩니다. 객체를 생성하는 문에서는 항상 new 연산자와 함께 사용됩니다.

Destructor - 소멸자(소멸자) 생성자와는 달리 객체의 수명 주기가 끝나면(예: 객체가 위치한 함수가 호출된 경우) 시스템이 자동으로 소멸자를 실행합니다. 소멸자는 종종 "정리" 작업을 수행하는 데 사용됩니다(예를 들어 객체를 생성할 때 new를 사용하여 메모리 공간을 엽니다. 메모리 공간은 종료하기 전에 소멸자에서 삭제와 함께 해제되어야 합니다).

아래 그림에서는 Car 클래스를 통해 Mercedes, Bmw, Audi라는 세 가지 개체를 만들었습니다.

$mercedes = new Car ();
$bmw = new Car ();
$audi = new Car ();
로그인 후 복사

PHP 클래스 정의

PHP 정의 클래스는 일반적으로 다음과 같은 구문 형식을 갖습니다.

<?php
class phpClass {
  var $var1;
  var $var2 = "constant string";
  
  function myfunc ($arg1, $arg2) {
     [..]
  }
  [..]
}
?>
로그인 후 복사

분석은 다음과 같습니다.

클래스는 클래스 이름 뒤에 오는 클래스 키워드를 사용하여 정의됩니다.

변수와 메서드는 클래스 이름 뒤의 중괄호({}) 쌍 안에 정의할 수 있습니다.

클래스의 변수는 var를 사용하여 선언하며, 변수도 값으로 초기화할 수 있습니다.

함수 정의는 PHP 함수 정의와 유사하지만 함수는 클래스와 클래스가 인스턴스화하는 개체를 통해서만 액세스할 수 있습니다.

Instance

<?php
class Site {
  /* 成员变量 */
  var $url;
  var $title;
  
  /* 成员函数 */
  function setUrl($par){
     $this->url = $par;
  }
  
  function getUrl(){
     echo $this->url . PHP_EOL;
  }
  
  function setTitle($par){
     $this->title = $par;
  }
  
  function getTitle(){
     echo $this->title . PHP_EOL;
  }
}
?>
로그인 후 복사

$this 변수는 자체 개체를 나타냅니다.

PHP_EOL은 개행 문자입니다.

PHP에서 객체 생성

클래스가 생성된 후 new 연산자를 사용하여 이 클래스의 객체를 인스턴스화할 수 있습니다.

$runoob = new Site;
$taobao = new Site;
$google = new Site;
로그인 후 복사

위 코드에서 우리는 각각 독립적인 세 개의 객체를 생성했습니다. 멤버 메서드와 멤버 변수에 액세스하는 방법을 살펴보세요.

멤버 메소드 호출

객체를 인스턴스화한 후 객체를 사용하여 멤버 메소드를 호출할 수 있습니다. 객체의 멤버 메소드는 객체의 멤버 변수만 작동할 수 있습니다.

// 调用成员函数,设置标题和URL
$runoob->setTitle( "菜鸟教程" );
$taobao->setTitle( "淘宝" );
$google->setTitle( "Google 搜索" );
$runoob->setUrl( &#39;www.runoob.com&#39; );
$taobao->setUrl( &#39;www.taobao.com&#39; );
$google->setUrl( &#39;www.google.com&#39; );
// 调用成员函数,获取标题和URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();
$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();
로그인 후 복사

전체 코드는 다음과 같습니다.

Instance

url = $par;
  }
  
  function getUrl(){
     echo $this->url . PHP_EOL;
  }
  
  function setTitle($par){
     $this->title = $par;
  }
  
  function getTitle(){
     echo $this->title . PHP_EOL;
  }
}
$runoob = new Site;
$taobao = new Site;
$google = new Site;
// 调用成员函数,设置标题和URL
$runoob->setTitle( "菜鸟教程" );
$taobao->setTitle( "淘宝" );
$google->setTitle( "Google 搜索" );
$runoob->setUrl( &#39;www.runoob.com&#39; );
$taobao->setUrl( &#39;www.taobao.com&#39; );
$google->setUrl( &#39;www.google.com&#39; );
// 调用成员函数,获取标题和URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();
$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();
?>
로그인 후 복사

위 코드를 실행하면 출력 결과는 다음과 같습니다.

菜鸟教程
淘宝
Google 搜索
www.runoob.com
www.taobao.com
www.google.com
로그인 후 복사

推荐学习:《PHP视频教程

위 내용은 php oop은 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

CakePHP 로깅 CakePHP 로깅 Sep 10, 2024 pm 05:26 PM

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

See all articles