>백엔드 개발 >PHP 튜토리얼 >(고급) PHP 객체 지향 - 클래스 및 객체

(고급) PHP 객체 지향 - 클래스 및 객체

黄舟
黄舟원래의
2017-02-06 10:16:141026검색

다음은 기사 전문입니다.

기본 개념

객체 지향 프로그래밍(객체 지향 프로그래밍, OOP, 객체 지향 프로그래밍)은 컴퓨터 프로그래밍 아키텍처입니다. OOP의 기본 원리는 컴퓨터 프로그램이 서브루틴 역할을 하는 단일 단위 또는 개체로 구성된다는 것입니다. OOP는 재사용성, 유연성, 확장성이라는 소프트웨어 엔지니어링의 세 가지 목표를 달성합니다.

PHP는 버전 4.0 이후 OOP에 대한 지원을 개선했습니다. 소규모 애플리케이션의 경우 기존 절차 프로그래밍을 사용하는 것이 더 간단하고 효율적일 수 있습니다. 그러나 크고 복잡한 애플리케이션의 경우 OOP를 고려해야 합니다.

클래스

클래스는 동일한 속성과 서비스를 가진 개체의 모음입니다. 이는 속성과 서비스라는 두 가지 주요 부분을 포함하는 이 클래스에 속하는 모든 개체에 대한 통합된 추상 설명을 제공합니다. 객체 지향 프로그래밍 언어에서 클래스는 독립적인 프로그램 단위이며 클래스 이름이 있어야 하며 속성 설명과 서비스 설명이라는 두 가지 주요 부분을 포함해야 합니다.

객체

객체는 시스템(system) 객관적인 사물을 기술하는 데 사용되는 개체 시스템을 구성하는 기본 단위입니다. 객체는 속성 집합과 속성 집합에서 작동하는 서비스 집합으로 구성됩니다.

클래스와 객체의 관계는 몰드와 캐스팅의 관계와 같습니다. 클래스의 인스턴스화 결과가 객체이고, 객체 유형의 추상화가 클래스입니다.

객체 지향 프로그래밍은 광범위한 주제를 다룹니다. 이 튜토리얼에서는 PHP의 기본 개념과 응용 프로그램만 소개합니다.

클래스

클래스를 선언하려면 키워드 class를 사용하고 클래스 이름과 본문을 {} 기호로 묶습니다.

구문:

class class_name{ ...... }

클래스에는 속성과 메서드가 포함되어 있습니다.

속성

클래스 본문에는 속성이라는 특수 변수를 선언할 수 있습니다. PHP V4에서는 var 키워드를 사용하여 속성을 호출해야 합니다. 이는 여전히 유효한 구문이지만 주로 이전 버전과의 호환성을 위한 것입니다. PHP V5에서는 속성을 공개, 비공개 또는 보호로 선언해야 합니다. 키워드에서 찾을 수 있습니다: 여기서 약간의 프라이버시를 가질 수 있습니까? 에서 이러한 한정자에 대해 읽어보세요. 그러나 이제 예제에서는 모든 속성을 공개로 선언합니다. 목록 1은 두 가지 속성을 선언하는 클래스를 보여줍니다.

두 가지 속성을 선언하는 클래스

class Dictionary {
   public $translations = array();
   public $type ="En";
}

예를 들어 person이라는 클래스를 정의하면 그 사람의 이름, 나이, 성별 등이 해당 클래스의 속성으로 간주될 수 있습니다. 사람.

메서드

클래스 정의에서 함수를 선언하면 클래스의 메서드가 생성됩니다.

구문:

class class_name{ function function_name(arg1,arg2,……) { 函数功能代码 } }

类的应用

一个定义了属性和方法的类就是一个完整的类了,可以在一个类里面包含一个完整的处理逻辑。使用 new 关键字来实例化一个对象以便应用类里面的逻辑。可以同时实例化多个对象。

语法:

object = new class_name();

实例化一个对象后,使用 -> 操作符来访问对象的成员属性和方法。

语法:

object->var_name; object->function_name;

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示 当前对象 或 对象本身 。

例子:

<?php 
class Person { 
//人的成员属性 
var $name; //人的名字 
var $age; //人的年龄 
//人的成员 say() 方法 
function say() { 
echo "我的名字叫:".$this->name."<br />"; 
echo "我的年龄是:".$this->age; 
} 
} //类定义结束 

//实例化一个对象 
$p1 = new Person(); //给 $p1 对象属性赋值 
$p1->name = "张三"; 
$p1->age = 20; 
//调用对象中的 say()方法 
$p1->say(); 
?>

运行该例子,输出:

我的名字叫:张三 我的年龄是:20

上面的例子演示了一个简单的基于面向对象的 PHP 应用。

以上就是(进阶篇)PHP面向对象- 类与对象的内容,更多相关内容请关注PHP中文网(www.php.cn)!


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