美文网首页
PHP自学计划-面向对象-18

PHP自学计划-面向对象-18

作者: 你缺少想象力 | 来源:发表于2018-12-07 11:39 被阅读8次

PHP的面向对象,几乎和Java一模一样,甚至就是一样的
例子:

// 1.接口
interface Human
{
    public function breath();
}

// 2.抽象
abstract class Chinese
{
    abstract function getLocation();
}

abstract class Shanghai extends Chinese
{
    abstract function speak();
}

class Father extends Shanghai implements Human
{

    // 3.声明属性的格式:var 属性名
    var $name = 1;

    // 4.构造方法
    function __construct($name)
    {
        $this->name = $name;
    }

    function eat()
    {
        echo "I can eat food" . "<br>";
    }

    // 5.接口方法
    public function breath()
    {
        echo "大口呼吸" . "<br>";
    }

    function getLocation()
    {
        echo "上海浦东" . "<br>";
    }

    function speak()
    {
        echo "上海话" . "<br>";
    }
}

// 6.final修饰的类无法再被继承
final class Son extends Father
{
    // 7.常量
    const gender = '男';

    // 8.静态变量
    public static $school = "阳光幼儿园" . "<br>";

    // 9.重写父类方法
    public function eat()
    {
        // 10.类似Java中的super.eat();
        parent::eat();
        // 11.使用这种方式控制父类的属性
        $this->name = 2;
        echo "more eat" . "<br>";
    }

    public function play($people)
    {
        // 12.内部调用私有方法
        $this->dress();
        echo "play game with " . $people . "<br>";
    }

    private function dress()
    {
        echo "dress" . "<br>";
    }

    // 13.析构函数:实例被销毁的时候调用
    function __destruct()
    {
        print "销毁 " . "<br>";
    }

}

// 14.实例对象
$son = new Son("李四");

// 15.调用方法
$son->eat();
$son->play("张三");
$son->breath();

// 16.直接访问静态变量
echo Son::$school;

运行结果:

I can eat food
more eat
dress
play game with 张三
大口呼吸
阳光幼儿园
销毁 

要注意一点的是:
PHP的类有构造方法和析构方法
构造方法,对象在实例化的时候调用,析构方法对象被销毁的时候调用

即便是在访问静态属性,对象也没有被销毁,直到访问静态属性结束后,类才被销毁

相关文章

  • PHP自学计划-面向对象-18

    PHP的面向对象,几乎和Java一模一样,甚至就是一样的例子: 运行结果: 要注意一点的是:PHP的类有构造方法和...

  • PHP学习总结

    PHP自学计划记录 当前只学习了PHP的基础语法,没有涉及很多PHP内部提供的函数 学习目录:PHP自学计划-注释...

  • python自学计划-面向对象-16

    面向对象跟Java还算很像,不过居然有多继承 整个代码直接贴上: 运行结果:

  • 2019-07-28

    在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用。

  • 2019-07-18

    在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很...

  • 类的声明和语法

    1.达标和检测 学习PHP的面向对象,你需要具备PHP面向过程的相关基础,如不会,请先学习PHP基础部分. 面向对...

  • PHP技术梳理

    PHP语言: PHP基础, 数据类型, 导入文件 string array 面向对象技术, 类, 对象, 继...

  • php 面向对象

    给自己看的 简介 PHP 对待对象的方式与引用 (references) 和句柄 (handles) 相同,即每个...

  • php面向对象

    面向对象在很多语言,如c,java,c++,c#等语言中都有,它与面向过程的区别在于:面向过程实现功能时使用几十个...

  • php面向对象

    一、类 类是一种具有统一的特征和行为的声明特征:是属性行为:方法或者函数 属性有三个标识,1、public:公共的...

网友评论

      本文标题:PHP自学计划-面向对象-18

      本文链接:https://www.haomeiwen.com/subject/wzfthqtx.html