zoukankan      html  css  js  c++  java
  • php面向对象 继承


    //类:由众多对象抽象出来的
    //对象:通过类实例化出来的
    //定义类:
    class Info
    {
    const p = 3.1425926; //将某些类里面常用到的东西定义为常量,方便使用

    public static $class; //static关键字定义静态的
    public $code;
    protected $name;
    private $sex;

    static function Test() //静态方法
    {
    echo self::$class; //调用自身类里面的静态成员
    echo "静态方法!";
    }

    function __construct($s)
    {
    $this->sex = $s;
    }

    function Say()
    {
    echo self::$class; //普通方法里面可以调用静态成员
    echo "hello";
    }

    function GetSex()
    {
    return $this->sex;
    }
    function SetSex($s)
    {
    $this->sex = $s;
    }

    function __set($n,$v)
    {
    $this->$n = $v;
    }

    function __get($n)
    {
    return $this->$n;
    }
    }

    //对象实例化
    $r = new Info("女");
    $r->code = "join";
    $r->sex;
    /*Info::$class = "0305";
    $r->Say();*/

    /*Info::$class = "0305"; //访问静态成员
    Info::Test();*/

    //三大特性
    //封装:
    //目的:为了让类更加安全,避免外界直接访问成员变量
    //做法:1.把成员变量变为私有的
    //2.通过方法(函数)来间接的操作成员变量

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

    /*class Test extends Info
    {
    public $birthday;

    function Run()
    {
    echo "run";
    }

    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代表该对象

  • 相关阅读:
    从尾到头打印链表-Python
    上台阶三种实现(斐波那契数列)-Python
    Windows/Linux安装python2.7,pycharm和pandas——《利用Python进行数据分析》
    部署(Django )
    第一个Django模型
    第一个Django Project(创建一个简单的博客)
    几个算法基础
    回文序列—Palindrome
    学习笔记:CentOS7学习之二十:shell脚本的基础
    学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理
  • 原文地址:https://www.cnblogs.com/banyue5026/p/5483556.html
Copyright © 2011-2022 走看看