PHP类与对象

一、面向对象概念

1.概念

面向对象(Object Oriented,OO)其是以对象模型为基础进行的抽象过程,并在应用过程中形成了描述自己的抽象概念定义,包括对象、类、封装、继承以及多态等。

2.面向对象的三大特性

1、封装

隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

2、继承

提高代码复用性;

3、多态

父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。

二、类与对象

类通过class声明

对象是类的实例化

 class people{
 //属性
 const constant = '常量';
 private $sec="秘密";
 public $height=123;
 protected $age=10;
 public $weight=64;
 //构造函数
 public function __construct(){
 echo "构造函数初始化";
 }
 public function __desctruct(){
 echo "虚构函数 收尾";
 }
 protected function age(){
 return $this->age;
 }
 private function secret(){
 return "这是我的秘密";
 }
 public function love(){
 return "love food";
 }
 public function say(){
 return "say you ";
 }
 }
 class girl extends people{
			function aa(a,b){
 $str=parent::age();
 return "继承了".$str;
 }
 function dd(){
 }
 }
 $a=new A();
 $girl=new girl();

类的元素

属性

常量 const constant = 'constant value'; A::constant;

static 静态属性和方法

构造函数和析构函数 __construct() __destruct exit();

方法

实例化 new A();

继承 extends

三、访问方法

 $this->
 self::test();
 parent::test();
 A::static_test();

四、访问控制与关键字

public 公有的 都可访问

private 私有的 不可访问 不可继承

protected 受保护的 不可访问 可继承

//关键字

static 可以直接使用 class::static 不能使用this self::

本文分享自微信公众号 - 老雷PHP全栈开发(L362606856),作者:雷日锦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学习PHP函数

    PHP 在用户自定义函数中支持可变数量的参数列表。在 PHP 5.6 及以上的版本中,由 ... 语法实现;在 PHP 5.5 及更早版本中,使用函数 fun...

    老雷PHP全栈开发
  • 认识PHP函数

    PHP 在用户自定义函数中支持可变数量的参数列表。在 PHP 5.6 及以上的版本中,由 ... 语法实现;在 PHP 5.5 及更早版本中,使用函数 fun...

    老雷PHP全栈开发
  • jquery基础教程之ajax数据交互

    老雷PHP全栈开发
  • 微生活时光机:去项目中挖掘JS模块化简史

    让我们把眼光投向微生活各个时期项目中的 JS 代码,看一看时代在其中投下的烙印,也许只是管中窥豹、走马观花,但通过其组织形式的异同,或可一瞥 JS 模块化层面的...

    江米小枣
  • [PHP] 命令行执行整合pathinfo模拟定时任务

    现在执行其他方法是同步的,可以再优化成开新线程执行这些方法,就不会阻塞主线程的定时了

    陶士涵
  • 页面点击特效源码解析

    这次给大家分享一个被广泛应用在个人网站中的骚骚的效果,就是鼠标左键点击出现小心心,来看下效果 :

    石璞东
  • [PHP] 自定义错误处理

    陶士涵
  • 命名函数表达式

    好文章,可惜中文译文已经无法访问了。不过在cssrain上找到一篇:www.cssrain.cn/demo/named%20function%20express...

    meteoric
  • webpack2 的 tree-shaking 好用吗?

    代码压缩的现状 下面是一个使用 react 的业务的代码依赖,但是实际上业务代码中并没有对依赖图中标识的模块,也就是说构建工具将不需要的代码打包到了最终的代码当...

    IMWeb前端团队
  • day56_BOS项目_08

      注意1:权限数据属于比较特殊的数据,系统在上线之后,必须先把权限数据给它初始化到数据库中去,然后这个系统才可以跑起来。如果不初始化权限数据的话,那么登录上系...

    黑泽君

扫码关注云+社区

领取腾讯云代金券