• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP类系列 (一)

php 搞代码 3年前 (2022-01-22) 23次浏览 已收录 0个评论

写在文前:

春节将近,明天就回家啦,心情无比激动,忙了一年终于可以陪陪家人了。外地人离京后,北京宛如一座‘空城’,今天同事们聊这个事,猛然想起司马迁的一句名言:“天下熙熙,皆为利来;天下攘攘,皆为利往”,现在利的方向应该就是亲情了,风筝收线,无论过去的一年你经历了什么,也都要收拾好心情回家过年。提前祝愿各位新年快乐~

春节期间我也会践行对自己的承诺,每周至少发一篇文章。

同时也要感谢And1读者提出的宝贵建议,大家如果有什么好的建议也可以告诉我哦。

回归正文:今天说说PHP里的类。

1 什么是类

类就是将有些东西归为一类,比如猫、狗、猪,它们都是动物,我们就可以归为一类。类是抽象的,不具体的,如果将类具体就是类的对象,猫、狗就是动物类中的一个对象。学生也可以作为一类,那么小红就是学生类里的一个对象(开发中的术语也叫 ‘实例’ )

粗略点说,类就是很多方法的集合(其实还有属性,属性只是配合方法实现),这些方法是你在程序中经常会用到的一些逻辑或算法,将他们包进类里面,可以提升程序的效率,减少代码的重复。

2 类的定义

每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。

<?phpclass SimpleClass{    // 声明类的属性    public $var = 'a default value';    // 声明类的方法    public function displayVar() {        echo $this->var;    }}?>

当一个方法在类定义内部被调用时,有一个可用的伪变量 $this。$this 是一个到主叫对象的引用。其实就是指这个类(代词)

3 类的实例

实例也就是具体的一个对象。 要创建一个类的实例,必须使用 new 关键字。

如果在 new 之后跟着的是一个包含有类名的字符串,则该类的一个实例被创建。

// 创建一个实例<?php$instance = new SimpleClass();// 也可以这样做:$className = 'Foo';$instance = new $className(); // Foo()?>

4 类的继承

可以理解成孩子继承父亲的基因。

① 一个类可以在声明中用 extends 关键字继承另一个类的方法和属性。

② PHP不支持多重继承,一个类只能继承一个基类(其实就是一个孩子只能有一个父亲)。

③ 被继承的方法和属性可以通过用同样的名字重新声明被覆盖(可以理解为儿子改良了父亲原有的基因)。但是如果父类定义方法时使用了 final,则该方法不可被覆盖。可以通过 parent:: 来访问被覆盖的方法或属性。

④ 当覆盖方法时,参数必须保持一致否则 PHP 将发出 E_STRICT 级别的错误信息。但构造函数例外,构造函数可在被覆盖时使用不同的!本文来源gaodai#ma#com搞*!代#%^码网5

搞gaodaima代码

参数。

// 简单的类继承<?phpclass ExtendClass extends SimpleClass{    // 重新定义父类的方法    function displayVar()    {        echo "继承类\n";        parent::displayVar();    }}$extended = new ExtendClass();$extended->displayVar();?>

5 类名的解析

使用 ClassName::class 你可以获取一个字符串,包含了类 ClassName 的完全限定名称。

// 类名的解析<?phpnamespace NS {    class ClassName {    }    echo ClassName::class;}?>// 以上输出结果: NS/ClassName

以上就是PHP类系列 (一)的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP类系列 (一)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址