小白教程

 找回密码
 立即注册
小白教程 首页 系列教程 PHP系列教程 查看内容

PHP 面向对象

发布者: 小白教程



PHP 类定义

PHP 定义类通常语法格式如下:

  1. <?php
  2. class phpClass {
  3. var $var1;
  4. var $var2 = "constant string";
  5. function myfunc ($arg1, $arg2) {
  6. [..]
  7. }
  8. [..]
  9. }
  10. ?>

解析如下:

  • 类使用 class 关键字后加上类名定义。

  • 类名后的一对大括号({})内可以定义变量和方法。

  • 类的变量使用 var 来声明, 变量也可以初始化值。

  • 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。

实例

  1. <?php
  2. class Site {
  3. /* 成员变量 */
  4. var $url;
  5. var $title;
  6. /* 成员函数 */
  7. function setUrl($par){
  8. $this->url = $par;
  9. }
  10. function getUrl(){
  11. echo $this->url . PHP_EOL;
  12. }
  13. function setTitle($par){
  14. $this->title = $par;
  15. }
  16. function getTitle(){
  17. echo $this->title . PHP_EOL;
  18. }
  19. }
  20. ?>

变量 $this 代表自身的对象。

PHP_EOL 为换行符。


PHP 中创建对象

类创建后,我们可以使用 new 运算符来实例化该类的对象:

  1. $Vue5教程 = new Site;
  2. $taobao = new Site;
  3. $google = new Site;

以上代码我们创建了三个对象,三个对象各自都是独立的,接下来我们来看看如何访问成员方法与成员变量。

调用成员方法

在实例化对象后,我们可以使用该对象调用成员方法,该对象的成员方法只能操作该对象的成员变量:

  1. // 调用成员函数,设置标题和URL
  2. $Vue5教程->setTitle( "W3Cschool教程" );
  3. $taobao->setTitle( "淘宝" );
  4. $google->setTitle( "Google 搜索" );
  5. $Vue5教程->setUrl( '' );
  6. $taobao->setUrl( 'www.taobao.com' );
  7. $google->setUrl( 'www.google.com' );
  8. // 调用成员函数,获取标题和URL
  9. $Vue5教程->getTitle();
  10. $taobao->getTitle();
  11. $google->getTitle();
  12. $Vue5教程->getUrl();
  13. $taobao->getUrl();
  14. $google->getUrl();

完整代码如下:

实例

<?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 ;
  }
}

$Vue5教程 = new Site;
$taobao = new  Site;
$google = new Site;

// 调用成员函数,设置标题和URL
$Vue5教程->setTitle"W3Cschool教程" );
$taobao ->setTitle"淘宝" );
$google-> setTitle"Google 搜索" );

$Vue5教程-> setUrl'' );
$taobao->setUrl 'www.taobao.com' );
$google->setUrl 'www.google.com' );

// 调用成员函数,获取标题和URL
$Vue5教程->getTitle ();
$taobao->getTitle();
$google-> getTitle();

$Vue5教程->getUrl();
$taobao ->getUrl();
$google->getUrl();
?>

执行以上代码,输出结果为:

  1. W3Cschool教程
  2. 淘宝
  3. Google 搜索
  4. www.taobao.com
  5. www.google.com


Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 01:50 , Processed in 0.018877 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

返回顶部