zoukankan      html  css  js  c++  java
  • php第六讲

    继承和静态

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>

    <body>
    <?php
    Class Ren
    {
    const p = 3.1415926; //将某些类里面常用到的东西定义为常量
    public static $class; //static关键字定义静态的
    protected $name;
    private $sex;
    private $age;
    public $code;
    static function Test() //静态方法
    {
    echo self::$class; //调用自身类里面的静态成员
    echo "静态方法!";
    }
    function __construct()
    {
    $this->sex = $s;
    }
    public function Say()
    {
    echo self::$class; //普通方法里面可以调用静态成员
    echo "hello";
    }
    function __destruct() //析构函数,对象销毁前执行
    {
    echo "该对象销毁了";
    }
    function SetAge($a) //给age赋值的函数
    {
    if($a>10 && $a<50)
    {
    $this->age = $a;
    }
    }
    function GetAge() //取age的值
    {
    return $this->age;
    }

    function __set($name,$value) //对类里面的私有成员进行赋值的魔术方法
    {
    $this->name = $value;
    }
    };
    $r = new Ren("男");
    $r->name = "张三";
    $r->age = 100;
    $r->Say();
    $r->SetAge(10);
    $r->Say();


    $r->__set("name","张三");
    $r->name = "李四"; //执行该语句会自动调用__set方法
    info::$class = "0305";//访问静态成员

    //echo $r->GetAge();

    //面向对象三大特性
    //封装
    //目的:让类更加安全
    //做法:1.把成员变量变为成私有的
    //2.通过方法(函数)来间接的操作成员变量

    //继承
    //概念:如果一个类有子类,那么该子类会继承父亲的一切东西( 不包括私有的成员)
    //在定义子类的时候需要加一个关键字:extends
    //特点:单继承,一个儿子只能有一个父亲,一个类只能有一个父类
    //如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化
    //子类对父类方法的重写:在子类中写一个同样的方法
    //final:

    class Test extends Info
    {

    public $code;

    public $birthday;



    function Run()
    {
    echo "fun";
    }
    function Say()
    {
    parent::Say(); //调用父类的Say()方法
    echo "Test Say";
    }
    }

    $T = new Test();
    $t->code = "p001";
    //echo $t->sex;
    $t->Say();
    $t->Run();

    //静态成员
    //类里面的普通成员是属于对象的,不是属于类的(调用的时候是用对先调用)
    //什么叫做静态的:类静态
    //定义静态成员用static关键字修饰
    //静态方法里面无法调用普通成员
    //静态方法可以调用静态成员,使用self关键字来调用
    //self代表该类,$this代表该对象

    ?>
    </body>
    </html>

  • 相关阅读:
    深入理解javascript原型和闭包(5)——instanceof
    深入理解javascript原型和闭包(4)——隐式原型
    启动mongodb的方式
    继承的几种方式
    npm install express 安装失败
    npm insta --savell和npm install --save-dev的区别
    express笔记之一安装
    mongoVUE安装配置
    nodejs笔记之一简介
    nodejs配置之二NPM配置之gulp使用时出现的错误
  • 原文地址:https://www.cnblogs.com/xiongxiaobai/p/5441769.html
Copyright © 2011-2022 走看看