PHP面向对象——继承(个人笔记)


面向对象的三大特征:封装、继承、多态

 

继承:

0.类的继承性就是从父类派生(继承)出一个子类,拥有了父类的全部属性和方法

1.继承了父类非私有的属性(私有属性可以查看,但是不可以调用)

2.继承代码格式(:父类:[ class parent ] class Son(子类) extends(继承函数)  Parent{})

3.如果一个子类的方法名和父类的方法名相同,那么子类的方法自动覆盖了父类的方法。(如果调用父类的方法,还是显示原来父类的内容,子类和父类是两个不同的类了)

4.如果子类继承之后想用父类的方法,必须要在方法体内加一个parent::方法()或者$this->方法(),推荐使用第一个种,因为第二种容易使子类和父类结构上不清。

5.如果子类和父类的方法名是一样的,那么parent::方法()是调用父类的方法,$thsi->方法()是调用子类的方法

6.对于父类的属性的引用方法是:$this->属性。属性是不能区别是父类还是子类的。(注意)

7.如果子类没有继承父类的构造和构析,则自动继承父类的构造和构析

8.如果子类继承了构造和构析,则不继承父类的构造和构析

 

 

优点:

1.复用代码

2.支持设计模式(不了解)

 

Final:

1.如果父类class 前添加Final,则不可以被继承

2.如果父类方法前添加Final,则方法不可以被修改

 

 

 

类常量:

1.关键字:Const;

2.Const 常量名(大写)  =常量值;

3.类内调用

a) 类名::常量

b) $this::常量

c) Static::常量

d) Self::常量

4.类外调用:

a) 类名::常量

b) 对象::常量

静态属性

1.静态属性就是在属性前加了一个static

2.静态属性不完全属于对象(就是不可以直接调用)

 

静态方法

作用:

1.计算对象个数

2.单例设计模式

3.不用实例化就可以调用

4.效率是普通的4倍(还没有体验到)

5.这里方法结束后要返回值(return)

 

魔术方法

1.__get(*);//要加上参数

1. 读取不可以访问属性

2. 属性的值或者不返回(需要return)

3. 参数是属性名

2.__set();//要加上参数

1. 更改不可访问属性

2. 参数是属性名或者是属性值

3. 没有返回值(没有return

3.__isset();

1. empty或者isset访问不可访问属性时

2. 参数是属性值

3. 返回是布尔型

4.__unset();

1. unset()不可访问属性时

2. 参数是属性名

3. 返回值没有,不需要Return

5.__call();

1. 调用一个不可访问的方法时

2. 方法名和参数列表(数组)

3. 自定义

6.__callStaitc();

1. 调用一个不可访问的静态方法时

2. 方法名和参数列表(数组)

3. 自定义

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值