utf-8 可变长度
GBK   2个字节
.定义类:
1.使用class关键字 + 类名

2.类名的命名规则:A.首字母大写;B.采用驼峰规则;C.不要使用下划线。

3.类中{}之间不要出现<?php 或者 ?>。

1. 封装性:
也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。
于是开发人员只需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序间相互依赖,
实现代码模块间松藕合。

2. 继承性:extends
就是子类自动继承其父级类中的属性和方法,并可以可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性。
备注:php只支持单继承,也就是说一个子类只能有一个父类。(但是一个父类可以有多个子类。)

3. 多态性:
子类继承了来自父级类中的属性和方法,并对其中部分方法进行重写。
于是多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果,这种技术就是多态性。
多态性增强了软件的灵活性。

对象访问属性用    ->

public(共有的)         protected(受保护的)    private (私有的)

本类    0                           0                      0

子类    0                           0

类外    0

魔术方法: 当满足一个条件或方法才会执行

- -get(参数:属性名){}当访问一个不存在的属性才会执行

--autoload奥拓漏的(类名);【重点,需要熟练掌握】
没有include

行魔术构造方法__construst啃死抓科特();【重点,需要熟练掌握其用法】

当示例化一个方法才会执行

备注:php5及其以上版本中,如果类中同时定义了一个常规构造方法和魔术构造方法,那么PHP会优先执行魔术构造方法,如果没有魔术构造方法才执行普通构造方法。
function __construst()

普通构造方法的特点是方法与类名完全相同,可以是无参数,也可以有很多参数。php5以下版本不能识别魔术方法,所以只能执行普通构造方法。

__destruct  随手关闭

__tostring  echo 一个对象会机动

__clone

__call($a,$c)  当访问一个不存在的方法 会执行$a方法名 $c 值

__set($a,$b)非给不存在的属性赋值$a属性名$b值