当前位置: 首页 > news >正文

合肥做网站价格北京seo优化排名

合肥做网站价格,北京seo优化排名,真正免费永久vps,白石龙做网站类 每个类的定义都以class关键字开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。类名可以是PHP保留字以外的任何合法字符,类名应以字母或者下划线开头,后面跟着若干字母、数字或下划线。一个…

每个类的定义都以class关键字开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。类名可以是PHP保留字以外的任何合法字符,类名应以字母或者下划线开头,后面跟着若干字母、数字或下划线。一个类可以有属于自己的常量、变量(属性)和函数(方法)。类中的方法调用时有一个可用的伪变量$this,$this是一个到主叫对象的引用,即该方法所从属的类的对象,PHP5中,如果是从第二个对象静态调用时,$this也可能引用的是另一个对象。PHP7中则没有此问题。

<?php
class A
{function foo(){if (isset($this)) {echo '$this is defined ('.get_class($this).")\n";} else {echo "\$this is not defined.\n";}}
}class B
{function bar(){A::foo();}
}$a = new A();
$a->foo();A::foo();
$b = new B();
$b->bar();B::bar();
?>

以上代码在PHP5的运行结果如下:

$this is defined (A)
$this is not defined.
$this is defined (B)
$this is not defined.

在PHP7的运行结果如下:

$this is defined (A)
$this is not defined.
$this is not defined.
$this is not defined.

自PHP5起,class关键字还可以用于类名解析,通过className::class可以获得一个包含类名className的完全限定名的字符串。

<?php
namespace test{class A{public $var = 'a default value';public function displayVar() {echo $this->var;}}echo A::class;
}
?>

对象

创建类的对象需要使用new关键字。如果在new关键字之后是一个包含类名的字符串,则会创建这个类的实例。如果该类属于一个名字空间,则必须使用其完整名称。当把一个已经创建的实例赋给一个新变量时,新变量会访问同一个实例,此时改变旧变量的引用不会改变新变量的引用,新变量仍然指向之前的实例。如果是通过引用传递的方式赋给新变量,则改变旧变量的引用会改变新变量的引用。

<?php
class A{public $var = 'a default value';public function displayVar() {echo $this->var;}
}
$className="A";
$ins1=new A();
echo $ins1->displayVar()."\n";
$ins2=new $className();
echo $ins2->displayVar()."\n";
$ins3=$ins1;
$ins4=&$ins1;
var_dump($ins3===$ins1);
var_dump($ins4===$ins1);
$ins1=new A();
var_dump($ins3===$ins1);
var_dump($ins4===$ins1);
?>

继承

一个类可以在声明中用extends关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。被继承的方法和属性可以通过用同样的名字重新声明被覆盖。但是如果父类定义方法时使用了final,则该方法不可被覆盖。可以通过parent::来访问被覆盖的方法或属性。当覆盖方法时,参数必须保持一致否则PHP将发出E_STRICT级别的错误信息。但构造函数例外,构造函数可在被覆盖时使用不同的参数。如果一个类扩展了另一个,则父类必须在子类之前被声明。

<?php
class A{public $var = 'a default value';public function displayVar() {echo $this->var;}
}class B extends A{public function displayVar(){echo "class B:";parent::displayVar();}
}
$b=new B();
$b->displayVar();
?>

 

http://www.lbrq.cn/news/2513359.html

相关文章:

  • 牛b插网站建设网站推广计划方案
  • 专业的网页设计和网站制作公司凡科建站官网免费注册
  • 黄骅海边旅游景区推广关键词优化
  • 在线网站建设培训免费推广网站大全下载
  • 好看的网站页面设计seocms
  • 长沙做个网站多少钱域名关键词查询
  • 礼品网站建设平台推广引流
  • 网站权重什么意思站长工具排行榜
  • 代练中介网站有得做吗腾讯中国联通
  • 学校网站的图片轮播怎么做北京互联网公司有哪些
  • 为什么打不开建设银行网站成都网络推广外包公司哪家好
  • 广西seo网站seo研究中心晴天
  • 网站建设与维护教学视频沈阳网站建设
  • 竭诚网络网站建设价格谷歌seo优化推广
  • 企业建设电子商务网站的预期收益本地网络seo公司
  • 网站免费php空间申请刚刚刚刚刚刚好痛
  • 临潼区建设局网站现在什么网络推广好
  • 做外贸做什么英文网站好江北seo页面优化公司
  • 有哪些网站可以做海报在线视频观看免费视频22
  • 做个网站每年都要交域名费吗百度免费资源网站
  • 做前端常用的网站及软件seo专员工资一般多少
  • qq群网站推广杭州龙席网络seo
  • 哪里可以学网站开发出售外链
  • 最专业的外贸网站建设公司平台推广销售话术
  • 网站开发php工资2022最新版百度
  • 惠州seo外包平台汕头seo优化公司
  • 怎么做推销产品的网站十大互联网平台
  • 网站开发工作内容seo学途论坛网
  • 西安网站建设哪家好重庆二级站seo整站优化排名
  • 韩国做色情网站违法不网页怎么优化
  • Three.js 性能优化全面指南:从几何体合并到懒加载资源
  • nodejs 实现Excel数据导入数据库,以及数据库数据导出excel接口(核心使用了multer和node-xlsx库)
  • 小程序中事件对象的属性与方法
  • PyTorch 数据类型和使用
  • 从0到1理解大语言模型:读《大语言模型:从理论到实践(第2版)》笔记
  • Mac m系列芯片安装node14版本使用nvm + Rosetta 2