php语言中的面向对象

时间:2025-11-25 07:12:23 php语言

php语言中的面向对象

  面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。下面小编要给大家讲述的是php语言中的面向对象,欢迎阅读,更多详情请关注应届毕业生考试网。

  public   公有的:本类,子类,外部对象都可以调用

  protected 受保护的:本类 子类,可以执行,外部对象不可以调用

  private 私有的:只能本类执行,子类与外部对象都不可调用

  面向对象编程的三大特点

  1)封闭性

  封闭性,也可以称为信息隐藏。就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。对于用到该类的开发人员,只要知道这个类如何使用即可,而不用去关心这个类是如何实现的。这样做可以让开发人员更好地把精力集中起来专注别的事情,同时也避免了程序之间的相互依赖而带来的不便。

  2)继承性

  继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性和方法。继承这个特性简化了对象和类的创建,增加了代码的可重性。继承分单继承和多继承,PHP所支持的是单继承,也就是说,一个子类有且只有一个父类。

  3)多态性

  多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术称为多态性。多态性增强了软件的灵活性和重用性。

  类的定义

  一个类可以包含有属于自己的常量,变量(称为“属性”)以及函数(称为“方法”)。

  和很多面向对象的语言一样,PHP也是通过class关键字加类名来定义类的。类的格式如下:

  代码如下:

  <?php

  Class myobject{

  /pic/p>

  }

  ?>

  定义:物以类聚,把具有相似特性的对象归到一个类中,类定义了这些相似对象拥有的相同属性和方法。类是相似对象的描述,称为类的定义,是该类对象的蓝图或原型。

  类的对象称为类的一个实例。要创建一个类的实例,必须使用 new 关键字。

  001ZpQGYty6MeYnSNUh25&690

  代码如下:

  <?php

  /pic/p>

  class NbaPlayer{

  public $name = "Jordan"; /pic/p>

  public $height = "198cm";

  public $team = "Bull";

  public $playerNumber = "23";

  /pic/p>

  public function run(){

  echo "Running\n";

  }

  public function dribblr(){

  echo "Dribbling\n";

  }

  public function pass(){

  echo "Passing\n";

  }

  }

  /pic/p>

  /pic/p>

  $jordan = new NbaPlayer();

  /pic/p>

  echo $jordan->name."\n";

  /pic/p>

  $jordan->dribble();

  $jordan->run();

  ?>

  成员方法

  类中的函数被称为成员方法。函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成员方法是实现类中的一个行为,是类的一部分。

  下面就来扩充上面的myobject类,为它添加一个成员方法,代码如下:

  代码如下:

  <?php

  classmyobject{

  function getobjectname($name){

  echo "商品名称为:".$name;

  }

  }

  ?>

  该方法的作用是输出商品名称,商品名称是通过方法的参数传进来的。

  类是一个抽象的描述,是功能相似的一组对象的集合。如果想用到类中的方法和变量,首先就要把它具体落实到一个实体,也就是对象上。

  类常量

  既然有变量,当然也会有常量了。常量就是不会改变的量,是一个恒值。众所周知的一个常量就是圆周率Pi。定义常量使用关键字const如:

  ConstPI=3.14159;

  构造函数

  PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

  代码如下:

  <?php

  /pic/p>

  class NbaPlayer{

  public $name = "Jordan"; /pic/p>

  public $height = "198cm";

  public $team = "Bull";

  public $playerNumber = "23";

  /pic/p>

  function __construct($name,$height,$weight,$team){

  echo "It is an  NbaPlayer constructor\n";

  $this->name = $name;

  /pic/p>

  $this->height = $height;

  $this->weight = $weight;

  $this->team = $team;

  }

  /pic/p>

  public function run(){

  echo "Running\n";

  }

  public function dribblr(){

  echo "Dribbling\n";

  }

  public function pass(){

  echo "Passing\n";

  }

  }

  /pic/p>

  /pic/p>

  $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

  /pic/p>

  echo $jordan->name."\n";

  /pic/p>

  $jordan->dribble();

  $jordan->run();

  /pic/p>

  $james = new NbaPlayer("James","203cm","120kg","Heat")

  echo $james->name."\n";

  ?>

  析构函数

  代码如下:

  <?php

  /pic/p>

  class NbaPlayer{

  public $name = "Jordan"; /pic/p>

  public $height = "198cm";

  public $team = "Bull";

  public $playerNumber = "23";

  /pic/p>

  function __construct($name,$height,$weight,$team){

  echo "It is an  NbaPlayer constructor\n";

  $this->name = $name;

  /pic/p>

  $this->height = $height;

  $this->weight = $weight;

  $this->team = $team;

  }

  /pic/p>

  /pic/p>

  function __destruct(){

  echo "Destroying".$this->name."\n";

  }

  /pic/p>

  public function run(){

  echo "Running\n";

  }

  public function dribblr(){

  echo "Dribbling\n";

  }

  public function pass(){

  echo "Passing\n";

  }

  }

  /pic/p>

  /pic/p>

  $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

  /pic/p>

  echo $jordan->name."\n";

  /pic/p>

  $jordan->dribble();

  $jordan->run();

  /pic/p>

  $james = new NbaPlayer("James","203cm","120kg","Heat")

  echo $james->name."\n";

  /pic/p>

  /pic/p>

  $james = null;

  echo "from now on James will not be used.\n"

  ?>

  析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

  对象的引用

  代码如下:

  <?php

  /pic/p>

  class NbaPlayer{

  public $name = "Jordan"; /pic/p>

  public $height = "198cm";

  public $team = "Bull";

  public $playerNumber = "23";

  /pic/p>

  function __construct($name,$height,$weight,$team){

  echo "It is an  NbaPlayer constructor\n";

  $this->name = $name;

  /pic/p>

  $this->height = $height;

  $this->weight = $weight;

  $this->team = $team;

  }

  /pic/p>

  /pic/p>

  function __destruct(){

  echo "Destroying".$this->name."\n";

  }

  /pic/p>

  public function run(){

  echo "Running\n";

  }

  public function dribblr(){

  echo "Dribbling\n";

  }

  public function pass(){

  echo "Passing\n";

  }

  }

  /pic/p>

  /pic/p>

  $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull");

  /pic/p>

  echo $jordan->name."\n";

  /pic/p>

  $jordan->dribble();

  $jordan->run();

  /pic/p>

  $james = new NbaPlayer("James","203cm","120kg","Heat")

  echo $james->name."\n";

  /pic/p>

  /pic/p>

  /pic/p>

  $james1 = $james;

  $james2 = &$james

  $james = null;

  echo "from now on James will not be used.\n"

  ?>

【php语言中的面向对象】相关文章:

PHP语言:面向对象01-04

PHP面向对象的进阶学习12-15

PHP语言面向对象的内容10-24

php面向对象的程序设计01-25

PHP面向对象的魔术方法详解12-24

PHP面向对象三大特点学习12-13

解读PHP面向对象程序设计实例09-28

什么是PHP面向对象中的重载重写09-23

php面向对象全攻略 php5接口技术02-23