首页 > 编程语言 >php类和对象

php类和对象

时间:2023-07-24 16:12:23浏览次数:34  
标签:定义 对象 接口 关键字 析构 php 方法

php很多语法和java类似,主要区分不同

1、类和对象

(1)class关键字创建类

(2)new关键字创建对象,如果没有参数可以忽略()

(3)->作为属性或方法的调用

 

        <?php
class stu{
    var $name;
    function echo_name($param) {
        echo $param;
    }
}
$stu_1 = new stu;
$stu_1->echo_name('abc');

        ?>

2、方法

(1)function关键字创建方法,return关键字定义返回

(2)方法和函数一致,不支持重载方法,如果类中定义重名的方法,即使参数列表不同,也会报异常

(3)$this表示当前对象,可以调用对象的属性或方法

$this

(4)构造方法

PHP 5 允许开发者在一个类中定义一个方法作为构造函数,new关键字创建对象时触发

function __construct( $par1, $par2 ) {
   $this->url = $par1;
   $this->title = $par2;
}

(5)析构函数

析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。

   function __destruct() {
       print "销毁 " . $this->name . "\n";
   }

3、继承

使用extends关键字进行继承。

如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。

4、抽象类

使用关键字abstract定义抽象类

定义为抽象的类不能被实例化。

5、接口和实现

使用关键字interface定义接口

接口的所有方法都是空的,且都必须是公有的

使用关键字implements实现接口,可以多实现。类必须定义接口中的所有方法

 

标签:定义,对象,接口,关键字,析构,php,方法
From: https://www.cnblogs.com/wd404/p/17577492.html

相关文章

  • php修饰符
    1、finalPHP5新增了一个final关键字。如果父类中的方法被声明为final,则子类无法覆盖该方法。如果一个类被声明为final,则不能被继承。2、static声明类属性或方法为static(静态),就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。......
  • php运算符
    1、松散比较和严格比较松散比较:使用两个等号 == 比较,只比较值,不比较类型。严格比较:用三个等号 === 比较,除了比较值,也比较类型。2、类型转换(1)字符串参与比较时,自动转为数值类型,比如'12'==12.03、php支持++和--4、运算符对数值运算的处理5、支持三元运算符6、逻辑运......
  • php控制结构
    1、if结构if(条件){if条件成立时执行的代码;}elseif(条件){elseif条件成立时执行的代码;}else{条件不成立时执行的代码;}2、switch<?phpswitch(n){caselabel1:如果n=label1,此处代码将执行;break;caselabel2:如果n=label2,此......
  • php - 支持word上传的富文本编辑器
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • 面对对象还是基于对象傻傻分不清楚,JS这个非主流太搞了
    与其它的语言相比,JavaScript中的“对象”总是显得不那么合群。一些新人在学习JavaScript面向对象时,往往也会有疑惑:为什么JavaScript(直到ES6)有对象的概念,但是却没有像其他的语言那样,有类的概念呢;为什么在JavaScript对象里可以自由添加属性,而其他的语言却不能呢?甚至,在一些争论......
  • sqlserver:拒绝了对对象 'QualityChxxx' (数据库 'xxx',架构 'dbo')的 SELECT 权限
    选择数据库(xxxx)—>安全性—->架构—->dbo(属性)—>权限—>添加—>浏览–>QualityChxxx  ......
  • Peachpie升级了,体现PHP跨平台优越性
    在对Peachpie的用法进行了一些工作之后,现在回到了在编译器本身实现的核心功能。目前正在更加接近完成项目的“初衷”—能够运行完整的现实世界的应用程序PHP会话<?phpsession_start();//thisactuallyinitializes$_SESSIONfromISessionserviceecho......
  • 设计模式:可复用面向对象软件的基础 pdf电子书分享
    《设计模式:可复用面向对象软件的基础》是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年设计经验的结晶。四位顶尖的面向对象领域专家精心选取了最具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为软件开发人员的圣经和词典,书中定......
  • 如何配置Apache24+PHP8+Mysql8包括安装
    一、PHP版本的选择与安装配置PHP官方PHP下载页面选择自己想要的版本点击Zip链接即可下载,x64是操做系统的位数,ThreadSafe是线程安全版本(多线程版Apache服务器使用),NoneThreadSafe是非线程安全版(单线程版IIS服务器使用)然后解压出来后把Apache24根目录的php.ini-developm......
  • Python使用Flask开发Web服务 - 裴 - flask使用request对象获取请求数据
     第一种,URL路径参数,之前已经介绍过第二种,查询参数  第三种,Form表单参数    第四中,JSON数据   第五种,requests.cookies获取cookie信息   第六种,requests.headers获取header信息  ......