php面向对象程序设计

 更新时间:2022年11月17日 09:17:09   作者:Lambert-XG  
在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象

类:定义一件事物的抽象特点。

对象:类的 实例。

成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可称为对象的属性。var关键字定义成员变量。

多态:相同的函数或方法可作用于多种类型对象产生不同结果。

封装:现实世界中存在的某个客体的属性和行为绑定在一起,并放置在一个逻辑单元中。

构造函数:创建对象是初始化对象,为对象成员变量赋初始值,与new运算符一起使用在创建对象的语句中。

定义类:

<?php
class site(){
    /* 成员变量 */
  var $url;
  var $title;
  /* 成员函数 */
  function setUrl($par){
     $this->url = $par;
  }
  function getUrl(){
     echo $this->url . PHP_EOL;
  }
}
?>

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

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

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

创建对象:

$baidu = new site;
$taobao = new site;

调用成员方法:

$baidu->setUrl('www.baidu.com');
$baidu->getUrl();

构造方法:

function __construct($baidu){
    $this->url = $baidu;
}

现在可以这样实例化对象:

$baidu = new site('www.baidu.com');
//调用成员函数
$baidu->getUrl()

方法重写:

// 从父类继承的方法不能满足子类时,可以对方法进行重写覆盖(override)
function getUrl() {
   echo $this->url . PHP_EOL;
   return $this->url;
}

访问控制:

public 公有公有的类成员可以在任何地方被访问。protected 受保护受保护的类成员则可以被其自身以及其子类和父类访问。private 私有私有的类成员则只能被其定义所在的类访问。(继承类也不能访问)

static关键字:

声明方法或类属性为static,可以不实例化而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

Final关键字:

如果父类中的方法被声明final,则子类不能覆盖该方法(重写);如果类被声明final则该类不能被继承。

调用父类的构造方法:

PHP 不会在子类的构造方法中自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。

<?php
class base{
    function __construct(){
        print "base类构造方法".PHP_EOL;
    }
}
class sub extends base{
    function __construct()
    {
        parent::__construct();// 子类不能自动继承父类构造方法
        print "子类sub的构造方法".PHP_EOL;
    }
}
// 调用base构造方法
$obj1 = new base();
// 调用base、sub构造方法
$obj2 = new sub();
?>

到此这篇关于php面向对象程序设计的文章就介绍到这了,更多相关php面向对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PHP中的output_buffering详细介绍

    PHP中的output_buffering详细介绍

    这篇文章主要介绍了PHP中的output_buffering详细介绍,本文讲解了output buffering的一些高级用法,需要的朋友可以参考下
    2014-09-09
  • php打开文件fopen函数的使用说明

    php打开文件fopen函数的使用说明

    本篇文章是对php中的打开文件fopen函数的使用进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • PHP return语句的另一个作用

    PHP return语句的另一个作用

    这篇文章主要介绍了PHP return语句的另一个作用,在bbPress的代码中看到的一个奇葩使用方法,需要的朋友可以参考下
    2014-07-07
  • PHP常用函数小技巧

    PHP常用函数小技巧

    php返回文件扩展名的函数 格式化变量php重定向网页等
    2008-09-09
  • php除数取整示例

    php除数取整示例

    这篇文章主要介绍了php中的除数如何取整,需要的朋友可以参考下
    2014-04-04
  • windows服务器使用IIS时thinkphp搜索中文无效问题

    windows服务器使用IIS时thinkphp搜索中文无效问题

    在用ThinkPHP开发的网站,在linux服务器下使用过一段时间,一切正常。但是更换到windows服务器时,发现搜索的时候,无法搜索中文,查不出相应的结果。查看数据库发现数据是存在的。linux服务器下正常,而且搜索数字或字母程序正常,说明程序是没有任何问题的。
    2023-06-06
  • mysq GBKl乱码

    mysq GBKl乱码

    mysq GBKl乱码...
    2006-11-11
  • PHP操作MySQL事务实例

    PHP操作MySQL事务实例

    这篇文章主要介绍了PHP操作MySQL事务的方法,以实例的形式较为详细的分析了ACID特征,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑

    浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑

    下面小编就为大家带来一篇浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • PHP高级对象构建 工厂模式的使用

    PHP高级对象构建 工厂模式的使用

    工厂模式包含普通工厂模式和抽象工厂模式,但是,不管是什么工厂模式,它们都是有一个作用,那就是生成对象
    2012-02-02

最新评论