php面向对象

在面向对象中,关键结构包括以下几个:

1. 类:class,是定义面向对象主体的最外层结构,用来包裹主体的数据和功能(函数)。类是一类具有共性事务的代表,代表的是事务的共性。

2. 对象:object,是某类事务的具体代表,也是实际数据和功能操作的具体单元,也被称之为实例(instance)

3. 实例化:new,从一个抽象的概念(类)得到一个符合抽象概念的具体实例(对象)的过程

4. 类成员:member,指类class结构中的所有内容,类成员里有三种

* 方法:method,本质是在类class结构中创建的函数,也称之为`成员方法`或者成员函数

* 属性:property,本质是在类class结构中创建的变量,也称之为`成员变量`

* 类常量:constant,本质是在类class结构中创建的常量

PHP

<?php
#定义买家类
class Buyer{
    public $name;
    public $money = 0; 
}
//实例化对象
$b = new Buyer();
//访问属性
echo $b->money;
//修改属性
$b->money = 1000;
//删除属性
unset($b->name);
//新增属性
$b->age = 20;

 **总结**

1. PHP类结构中有三种成员:属性、方法和类常量

2. 类结构中只能有三种成员,不限数量,其他代码需要写到方法里面,否则报错

3. 类中属性和方法的访问方式都是通过对象来调用:$对象->属性名/方法名();注意属性名不带$符号

4. 类中定义属性不能直接使用属性名,需要使用符号public修饰

访问控制:

PHP 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。

public(公有):公有的类成员可以在任何地方被访问。

protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。

private(私有):私有的类成员则只能被其定义所在的类访问。

this关键字:当前对象

类的继承/派生: extends 来继承一个类,格式如下:

PHP

class Child extends Parent {
   // 代码部分
}

重写:overwrite(子类重写父类方法)

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

parent关键字: parent::work();

PHP

// 构造方式,实现各个方法访问过滤功能
function __construct(){
    // 为避免覆盖父类构造方法,先执行父类构造器
    parent::__construct();
    // echo "登陆过滤";
    // session里面是否保存了u_username
    if (!session('?u_username')) {
    // 提示登陆,跳转到登陆页面
    $this->redirect('User/login');
    }
}

final关键字:修饰类,不可继承,修饰方法,不可重写

魔术方法:在特定时机,系统自动调用的方法

__get()  :访问私有/受保护属性

__set()  :设置私有/受保护属性

__isset() :判断

__unset() : 销毁公共属性

—autoloade():

self关键字

类常量

静态属性,静态方法

抽象类:

PHP

abstract  class Dog{
}

抽象类不能实例化对象

抽象类存在的目的是为了让子类继承

子类必须实现抽象类的抽象方法

接口:interface,类结构,可继承

implements

接口和抽象类的区别是什么

trait:用来模拟实现多继承

use 

命名空间

异常处理:

try catch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值