js面向对象
类 具有相同具有相同的特征的一些对象的一些集合
对象 具体到某一个事物了都可以叫做对象
类 通过function定义类 所以在js中类的本质是函数
标志 --- 首字母大写
函数内部始用this 调用函数始用new关键字
1.类和函数天生就有两个属性prototype和__proto__
prototype有事一个对象天生就有的constructor的属性,属性值就是函数和类的本身
2.普通对象天生就有一个__proto__的属性,这个属性只想他的父类
PHP面向对象
1.类的创建 class创建类
2.对象的创建 始用new关键字
3.成员的添加
添加成员需要三个修饰符
public 公开的 定义公共的属性和方法,类的内部,类的外部,子类都可以使用
protected 受保护的 定义受保护的属性和方法 只能在类的内部和子类里面始用
private 私有的 定义私有的属性和方法 只能在自身的类里面使用
4成员调用使用->符号
使用成员属性和方法的时候属性和方法前面不带$符
5 特殊对象$this 指向实例化的对象,如果类的方法里想使用类的其他属性和方法得需要使用$this对象
6.构造方法function __construct() 构造函数在new实例化的时候系统会自动调用
7. 析构方法
我们每次new实例化,系统就会给这个对象分配一个内存空间,如果不销毁,系统压力会很大,系统有一个析构方法 __destruct 对象实例化之后系统会自动调用。内存销毁的原则是先进后销。
8.成员赋值
9.php中的继承使用关键字 extends
10. 类中常量使用const关键字定义常量,常量在定义和使用的时候不能带$符。
使用的时候不能用$this 使用范围修饰符 :: 前面还是这个类名或self
如果子类向访问父类中的常量使用parent::常量名
11 静态变量 在变量前加上关键字 static 静态属性不能使用->访问了,使用类名::$变量名;
12.重载覆盖
子类继承父类的方法时,如果子类有和父类同名的方法,从父类那继承的方法就会被覆盖掉,这个就叫重载。
如果父类的方法前面加上final 则子类无法重载父类的方法,就会报错。