• 0607pm克隆&引用类&加载类&面向对象串讲&函数重载


    克隆
    class Ren
    {
    public $name;
    public $sex;
    function __construct($n,$s)
    {
    $this->name=$n;
    $this->sex=$s;
    }
    function __clone()//改变克隆的对象内容
    {
    $this->name="李思思";//this代表复本对象
    $that->name="李思思";//that代表原本的,后来废弃了
    }
    }
    $r=new Ren("张丹","女");
    //克隆,用处不很大,完全可以new一个新的
    $r1=clone $r;
    var_dump($r);
    var_dump($r1);

    //引用类,加载类
    class Ren
    {
    public $name;
    public $sex;
    public function Say()
    {

    }
    }

    //关于根路径:php里面 / 代表根路径;值该文件所在的磁盘,煮个栗子:D:/
    //html里面 / 代表根路径:指服务器文件夹
    include("Ren.class.php");//相对路径 "/"根路径

    require"Ren.class.php";
    require_once("Ren.class.php");

    //自动加载类
    //1.所有的类文件命名要求有同一个规则
    //2.文件名里面必须有类名
    //3。所有类文件必须在同一个文件夹下
    function __autolode($classname)
    {
    require $classname.".class.php";
    }
    $r=new Ren();
    echo $r->name;

    //面向对象大串讲


    //类和对象
    //对象:一切东西都可以看做对象,对象是类的实例化。
    //类:类是对象的抽象,用来描述众多对象共有的特征。

    //定义类 class
    //成员变量 和 成员方法
    //访问修饰符 public共有的 private 私有的 protected 受保护的
    //面向对象三大特性:
    //1.封装:目的:保护类,做法:成员私有,方法访问。__get() __set()
    //构造方法:特殊点:1.写法特殊 2.执行时间特殊;可以实现成员的初始化
    //$this关键字:$this代表该对象

    //2.继承:子类可以继承父类的一切
    //特点:单继承:一个子类只能有一个父类,一个父类可以派生多个子类。
    //方法重写:子类里建一个和父类重名的方法,会将父类方法覆盖;如果想扩展父类的方法而不是覆盖:parent::Say();

    //3.多态:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,所以父类引用在调用该方法的时候表现出的不同就成为多态。
    //条件:1.必须继承 2.子类必须对父类方法重写 3.父类引用指向子类实例

    //静态
    //关键字:static
    //普通成员是属于对象的
    //静态成员是属于类的
    //普通方法里面可以调用静态成员
    //静态方法里面不能调用普通成员
    //用类名调用:Ren::Say();
    //self关键字:代表该类本身

    //抽象类
    //关键字:abstract
    //抽象类不能实例化,可以被继承

    //接口
    //关键字:interface,不加class关键字
    //接口里面有成员方法,但是没有函数体.
    //实现接口使用的关键字:implements 不是extends
    //子类必须实现接口的所有方法

    //析构函数
    //写法特殊 执行特殊:在对象销毁的时候执行

    //__tostring()方法

    //克隆 关键字:clone

    //加载类 7种

    //函数重载
    //要求:1.要么参数数量不同,要么参数类型不同。2.方法名必须相同

    //函数重载:强类型语言,php里面没有
    //要求:1.要么参数数量不同,要么参数类型不同 2.方法名必须相同

  • 相关阅读:
    js中“==”与“===”区别
    java中的除法及求余运算特殊性。
    oracle数据库查询历史某一时刻的表数据
    Java多线程总结(转载)
    I/O之Writer-Reader
    I/O之File
    MYSQL之內链接 左链接 右链接 区别
    ubuntu下编译boost
    linux下编译安装boost库
    搭建无线弱网测试环境
  • 原文地址:https://www.cnblogs.com/pangchunlei/p/5575894.html
Copyright © 2020-2023  润新知