객체 지향(OO)은 소프트웨어 개발 방법입니다. 객체 지향 개념과 응용 프로그램은 프로그래밍과 소프트웨어 개발을 넘어 데이터베이스 시스템, 대화형 인터페이스, 응용 프로그램 구조, 응용 프로그램 플랫폼, 분산 시스템, 네트워크 관리 구조, CAD 기술, 인공 지능 및 기타 분야와 같은 분야로 확장되었습니다. 아래에서는 PHP의 클래스와 객체 간의 관계를 소개합니다.
추천 튜토리얼: PHP 비디오 튜토리얼
1. 클래스와 객체의 관계
클래스의 구체화 결과가 객체이고 객체의 추상화가 클래스입니다. 개발 과정에서 우리는 일반적으로 먼저 클래스를 추상화(상상)한 다음 클래스를 사용하여 객체를 생성합니다(판타지 콘텐츠 실현). 프로그램에서 우리는 추상(판타지) 클래스 대신 (판타지) 객체를 직접 사용합니다.
2. 객체 지향과 프로세스 지향
1. -지향# 🎜🎜# 프로세스 지향은 빨래, 요리, 모든 것을 스스로 해결하는 것과 같습니다
2. #🎜 🎜#객체지향이란 사람이 물건을 가지고 그 물건에게 빨래도 하고 요리도 하라고 하는 것을 말합니다.
3. 클래스를 추상화하는 방법class 类名{
成员属性:
姓名、性别、年龄、身高、体重
成员方法:
说话、走路、学习、吃饭、开车
}
class Person{ var $name; //声明第一个成员属性,用于储存人的名字 var age; //声明第一个成员属性,用于储存人的年龄 var $sex; //声明第一个成员属性,用于储存人的性别 }
class Person{ var $name; //声明第一个成员属性,用于储存人的名字 var $age; //声明第一个成员属性,用于储存人的年龄 var $sex; //声明第一个成员属性,用于储存人的性别 function say(){ //声明第一个方法 echo '人在说话'; //定义人说话的功能 } function run(){ //声明第二个方法 echo '人在跑步'; //定义人跑步的功能 } function eat(){ //声明第三个方法 echo '人在吃饭'; //定义人吃饭的功能 } }
객체는 관련된 속성과 메소드를 함께 구성합니다. 멤버 특성과 멤버 메서드는 모두 선택 사항입니다. 멤버 특성만 가질 수도 있고, 멤버 메서드만 가질 수도 있고, 멤버가 없을 수도 있습니다.
4. 객체 인스턴스화
A 클래스는 여러 객체를 선언할 수 있습니다. 멤버 속성 및 멤버 메서드에 액세스
class Person{ var $name; //声明第一个成员属性,用于储存人的名字 var $age; //声明第一个成员属性,用于储存人的年龄 var $sex; //声明第一个成员属性,用于储存人的性别 function say(){ //声明第一个方法 echo '人在说话'; //定义人说话的功能 } function run(){ //声明第二个方法 echo '人在跑步'; //定义人跑步的功能 } function eat(){ //声明第三个方法 echo '人在吃饭'; //定义人吃饭的功能 } } // 实例化对象 $sqyy = new Person(); //成员属性赋值 $sqyy -> name = "伊川"; $sqyy -> sex = "男"; $sqyy -> age = 26; //访问对象中的成员方法 $sqyy->eat();
5 특수 개체 참조 "$this"#🎜🎜 ##🎜 🎜# 위의 예에서는 객체를 인스턴스화한 다음 멤버 속성에 값을 할당하고 멤버 메서드에 액세스합니다. 그런 다음 $this는 현재 개체를 나타내는 멤버 메서드에도 사용할 수 있습니다.
멤버 메서드가 호출되기 전의 개체는 누구이며 $this는 누구를 나타냅니다. class Person{
var $name;
function info(){
$this ->name = "SQYY";
}
}
1. 공법
#🎜🎜 # 생성 메서드는 개체가 생성된 후 개체에 의해 자동으로 호출되는 첫 번째 메서드입니다. 개체를 초기화하고 개체를 인스턴스화하는 데 new 키워드가 사용될 때 자동으로 트리거됩니다.
<?php class Person{ //下面是声明人的成员属性,都是没有初始值的,在创建对象时,使用构造方法赋给初始值 var $name; //定义人的名字 var $sex; //定义人的性别 var $age; //定义人的年龄 function __construct($name="SQYY",$sex="男",$age=1){ $this -> name = $name; //在创建对象时,使用传入的参数$name为成员属性 $this->name赋初值 $this -> sex = $sex; //在创建对象时,使用传入的参数$sex为成员属性 $this->sex赋初值 $this -> age = $age; //在创建对象时,使用传入的参数$sex为成员属性 $this->age赋初值 } //下面声明人的成员方法 function say(){ echo "我的名字:" .$this ->name. " ,性别:" .$this -> sex ." 年龄" .$this ->age. "。<br>"; } } $person1 = new Person(); //创建对象$person1时会自动执行构造方法,默认传参 $person2 = new Person('张三'); //创建对象$person2时会自动执行构造方法,传入第一个参数,其他默认传参 $person3 = new Person('李四','男'); //创建对象$person3时会自动执行构造方法,传入前两个参数,其他默认传参 $person4 = new Person('王五','女','20'); //创建对象$person4时会自动执行构造方法,传入所有参数 $person1 ->say(); $person2 ->say(); $person3 ->say(); $person4 ->say(); ?>
실행결과
2. 파기방법
#🎜 🎜 # 객체가 소멸되기 전에 자동으로 호출되는 마지막 메서드, 먼저 들어오는 변수를 생성한 다음 소멸<?php
header('Content-type:text/html;charset=utf-8');
// 定义一个汽车的类
class car{
// 成员属性
public $name;
public $color;
//构造方法
public function __construct($name,$color){
$this->name = $name;
$this->color = $color;
echo "你创建了".$this->name.'<br>';
}
// 析构方法
public function __destruct(){
echo "你销毁了".$this->name.'<br>';
}
}
// 实例化对象
$hanma = new car('悍马','粉色','H2');
$bmw = new car('宝马','红色','X7');
$benchi = new car('奔驰','黑色','s600');
// unset($bmw);
$bmw = '1111';
?>
# 🎜🎜#
변수를 참조하지 않으면 개체가 생성된 후 삭제됩니다.<?php header('Content-type:text/html;charset=utf-8'); // 定义一个汽车的类 class car{ // 成员属性 public $name; public $color; //构造方法 public function __construct($name,$color){ $this->name = $name; $this->color = $color; echo "你创建了".$this->name.'<br>'; } // 析构方法 public function __destruct(){ echo "你销毁了".$this->name.'<br>'; } } // 实例化对象 new car('悍马','粉色','H2'); new car('宝马','红色','X7'); new car('奔驰','黑色','s600'); ?>
위 내용은 PHP 클래스와 객체의 관계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!