当前位置: 首页 > 编程笔记 >

php创建类并调用的实例方法

曹钊
2023-03-14
本文向大家介绍php创建类并调用的实例方法,包括了php创建类并调用的实例方法的使用技巧和注意事项,需要的朋友参考一下

PHP类定义

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

<?phpclass phpClass {

 var $var1;

 var $var2 = "constant string";

  

 function myfunc ($arg1, $arg2) {

   [..]

 }

 [..]}?>

解析如下:

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

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

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

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

例如

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

 }}?>

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

PHP_EOL 为换行符。

PHP 中创建对象

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

$runoob = new Site;

$taobao = new Site;

$google = new Site;

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

调用成员方法

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

// 调用成员函数,设置标题和URL

$runoob->setTitle( "菜鸟教程" );

$taobao->setTitle( "淘宝" );

$google->setTitle( "Google 搜索" );

 

$runoob->setUrl( 'www.runoob.com' );

$taobao->setUrl( 'www.taobao.com' );

$google->setUrl( 'www.google.com' );

 

// 调用成员函数,获取标题和URL

$runoob->getTitle();

$taobao->getTitle();

$google->getTitle();

 

$runoob->getUrl();

$taobao->getUrl();

$google->getUrl();

以上就是php如何创建类并调用?的详细内容,感谢大家对小牛知识库的支持。

 类似资料:
  • 问题内容: 我有两个课,和。我得到的字符串可以是或。 而不是使用长语句,例如: 有没有一种方法可以使用字符串创建实例,即? 问题答案: 是的你可以! 使用名称空间时,请提供标准名称: 您可以在php中执行的其他一些很酷的工作是: 以及可变的函数和方法。

  • 问题 你想创建一个实例,但是希望绕过执行 __init__() 方法。 解决方案 可以通过 __new__() 方法创建一个未初始化的实例。例如考虑如下这个类: class Date: def __init__(self, year, month, day): self.year = year self.month = month self.

  • 问题内容: 我希望能够通过在已实例化的对象上调用方法来创建对象的新实例。例如,我有一个对象: 我希望能够调用并拥有两个有机体类型的对象。此时我的方法如下所示: 并且我非常确定它不起作用(我甚至不确定如何测试它。我在本文中尝试了gc方法)。那么,如何使我的对象创建自己的副本,就像我创建的第一个对象(带有)一样,该副本是可访问的? 问题答案: 另一个选项-如果方法中未使用实例(): 这样可以确保生物产

  • 问题内容: 我有一个单例课程: 并且多个线程正在调用work()函数: 我注意到两个线程正在同时运行,就好像两个工作函数是同时实例化的一样。 我希望最后一个线程代替上一个线程运行,而不是同时运行。在Java中是否可以使第二个调用覆盖第一个调用的内存空间? 问题答案: 您的方法正在尝试延迟初始化 SINGLETON实例,但存在以下问题: 不能访问变量 变量不是 您没有使用双重检查锁定 因此竞争条件A

  • 问题内容: 有没有一种方法可以给定类名称(动态)来创建特定类的实例,并将参数传递给其构造函数。 就像是: 的构造函数的参数在哪里? 问题答案: 是的,类似: 当然,这仅适用于单个字符串参数,但是你可以轻松地对其进行修改。 注意,类名必须是完全合格的,即包括名称空间。对于嵌套类,你需要使用美元(因为这是编译器使用的美元)。例如: 要获得该Class对象,你需要。

  • 本文向大家介绍php中pcntl_fork创建子进程的方法实例,包括了php中pcntl_fork创建子进程的方法实例的使用技巧和注意事项,需要的朋友参考一下 一、php中pcntl_fork函数概述 pcntl_fork()函数是php中用于创建子进程的一个函数,返回创建的子进程的pid。 该函数创建子进程具体fork的过程: (1)调用该函数即创建一个子进程,创建成功父进程返回子进程的pid,