PHP之面向对象(下)
1,类的创建 class

2,对象的创建 new关键字

3,成员的添加 修饰符
添加成员需要三个修饰符
public 公开的
定义公共的属性和方法,类的外部,内部,子类都可以使用
protected 受保护的
定义受保护的属性和方法,只能在类的内部,子类使用
private 私有的
定义私有的属性和方法,只能在自身的类使用
成员如果前面不加修饰符,默认public
4,成员的调用 —〉

5,特殊对象 $this
$this指向实例化对象,如果类的方法里想使用类的属性和方法,需使用$this

6,构造方法 function __construct()
构造函数在实例的时候系统会自动调用

7,析构方法 function __destruct()
我们每次new实例化,系统就会给这个对象分配一个内存空间,
如果不销毁,系统压力会很大,系统有一个析构方法 __destruct 对象实例化之后系统会自动调用。
内存销毁的原则是先进后销。

8,成员赋值

9,继承

10,常量 const
可以把在类始终保持不变的定义为常量,在定义时不带$
使用常量时不能用$this,使用范围解析符(类名、self):: 常量

子类想访问父类的常量,使用parent::常量

11,静态变量 static
静态属性可以通过一个类已实例化的对象来访问
访问方法:类名::$变量名

12,重载 覆盖 final
子类继承父类的方法时,如果子类有和父类同名的方法,从父类那继承来的方法就会被覆盖,这叫重载
如果在父类的前面加上final,则子类无法重载父类的方法,会报错

13,调用父类的构造方法 parent ::construct()
PHP不会再子类的构造方法中自动调用父类的构造方法,
要执行父类的构造方法,需要在子类的构造方法中调用parent ::construct()

14,对象克隆 clone
赋值一模一样的对象,但是二者不是同一个对象,指的不是同一个内存地址

15,关键字 parent
在继承中的子类,有这个parent
访问父类的常量,父类的方法,父类的静态属性,属性成员不能访问

16,关键字 final-不可重载的
如果写在类前面,代表这个类不能被继承
如果写在类的方法和属性前面,说明这个方法,属性不能被重载

17,抽象类 abstract
如果项目经理需要对所有的子类进行规范,就是说成员必须有,且必须有那些名字,就得使用抽象类概念
1,抽象类不能被实例化
2,如果有一个类里面有一个方法被声明为抽象类了,这个类就得声明为抽象类
3,只要这个方法被声明为抽象方法了,就不能写函数体,将函数后面的{}去掉,函数体由子类实现
4,在继承一个抽象类的时候,子类必须定义父类中的所有抽象方法,不是抽象方法,子类不可以去定义

接口 interface
用于和抽象类差不多,为了一些规范
1,使用interface关键字定义接口,接口在方法都是空的,没有函数体
2,接口中所以方法都是public
3,使用implements这个操作符
4,一个类可以实现多个接口,接口与接口之间要用逗号隔开
5,接口和接口之间方法尽量不要重名,如果重名了,那么参数要保持一致

抽象类和接口的区别:
1,接口使用implements 而抽象类使用extends 实现
2,接口中只能申明公有的方法 抽象类属性 常量 方法 都可以申明
3,接口没有构造函数 抽象类有
4,接口可以实现多个接口 但是抽象类只能继承一个
18,面向对象三大特征
封装----
对外只是提供可操作的接口(指方法),对内的数据操作不可见
继承---
子类可以继承父类的属性和方法,但是有限继承,
public protected private 修饰的属性可以继承 protected public 修饰的方法 子类可以继承
父类的常量也可以继承。
多态---
php没有多态,因为php是弱类型语言,不会对变量提前进行类型申明,但是有重载
重载---父类和子类 方法相同 子类会覆盖父类的方法
PHP之面向对象(下)的更多相关文章
- 【Java基础】面向对象下
面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...
- Java学习笔记(面向对象下)
面向对象(下) 类的继承 类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类称为子类,现有类称为父类,子类会自动拥有父类所有可继承的属性和方法.(用extends关键字) //定义A ...
- Python 面向对象(下)
本篇博客承接自Python 面向对象(上) 四. 继承,实现,依赖,关联,聚合,组合 Python面向对象--继承,实现,依赖,关联,聚合,组合 五. 特殊成员 Python面向对象--类的特殊成员 ...
- Python之路第八天,基础(9)-面向对象(下)
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...
- java面向对象下:JavaXML解析技术
20.JavaXML解析技术: XML概述: XML可扩展标记性语言,用于数据表达和数据传递. XML语法规则: 合法DTDXML:1.内部DTD(和XML一起):2.外部 ...
- js面向对象 下
// 声明对象的方法 一 (通过常量直接赋值) var xiaoming = {//声明一个对象(直接通过一个常量xiaoming用{}赋值的方式声明) name: '小明', //对象的一个属性 ...
- Java编程基础-面向对象(下)
一.抽象类 1.引入:当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的.Java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用 ...
- java面向对象(下)-抽象类
抽象类和抽象方法 抽象类和抽象方法必须使用abstract修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有抽象方法 抽象类和抽象方法的规则如下 1.抽象类和抽象方法必须要用abstra ...
- python面向对象(下)
继承 继承描述了基类的属性如何"遗传"给派生类.一个子类可以继承它的基类的任何属性,不管是数据属性还是方法.创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需 ...
随机推荐
- Jquery ajax 同步阻塞引起的UI线程阻塞的坑(loading图片显示不出来,layer.load延迟)
今天想做一个点击地市用ajax重新获取数据刷新页面功能,因为ajax属于耗时操作,想在获取数据且加载页面时显示加载遮罩层,结果发现了ajax的好多坑. 例如如上栗子,我想点击按钮让遮罩层显示,ajax ...
- fitEllipse的外接矩形与拟合的椭圆参数关系
根据我看的博客,fitEllipse返回的外接矩形(假设为box),对应椭圆的相应参数: box.size.width 和box.size.height对应椭圆的长轴和短轴: box.center对应 ...
- JS高阶---闭包应用(自定义JS模块)
[自定义JS模块] [闭包案例] (1)案例1 对应的模块文件 (2)案例2---使用匿名函数 对应的模块文件 案例2分析:因为内部函数引用了外部函数的变量,且存在嵌套关系,所以是闭包,分析结构图如下 ...
- Linux sh、source和.命令执行.sh文件的区别
sh文件介绍 .sh为Linux的脚本文件,我们可以通过.sh执行一些命令,可以理解为windows的.bat批处理文件. 点命令 .命令和source是同一个命令,可以理解为source的缩写,简称 ...
- COSO企业风险管理框架及其在大宗商品行业的应用
https://mp.weixin.qq.com/s/P1NDvqsz0GNObm1pb47mfg 中国期货市场交易量领先全球,期权.互换等新的衍生品工具逐步引入,场外衍生品服务商正在涌现.越来越多的 ...
- Salesforce 自定义元数据类型
自定义元数据类型的优点 Salesforce中的设定都是以元数据(Metadata)存在的.在Salesforce中,用户可以新建自定义对象.自定义字段等,这些数据结构都以元数据的形式存储在系统中.当 ...
- Codeforces Round #609 (Div. 2) 题解
Equation Modulo Equality Long Beautiful Integer Domino for Young K Integers Equation \[ Time Limit: ...
- SQL Server 迁移数据库 (二)分离和附加
分离和附加其实比导入和导出,步骤要少一些,但是数据量大的话,跨服务器拷贝数据文件可能要慢一些 1. 分离数据库 这里最好选择断开链接,断开之前要确保你记得数据库的路径,一般默认都是C:\Program ...
- Python正则表达式学习与运用
一.什么是正则表达式 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个 ...
- read articles list
done 如何通俗易懂地解释卷积: https://www.zhihu.com/question/22298352/answer/637156871 如何通俗易懂地理解卷积神经网路: http://w ...