php学习笔记————php类的概念

Posted 我辈年轻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php学习笔记————php类的概念相关的知识,希望对你有一定的参考价值。

<?php
//类的概念
/*
 * 一个类包含自己的属性和函数
 * 
 * 属性:属于类自己的常量和变量
 * 
 * 方法:就是函数
 * 
 * 类是一类事物的抽象
 */
//例子:
//车就是一种抽象
class Car{
    //车的基本属性:有轮子,有颜色,可以拉货(人)    
    public $color = \'red\';//默认红色
    public $wheel_size = 4;//默认4个
    
    //方法:拉货默认
    public function pull_some_thing($something = \'货\'){
        echo "我是一辆 $this->color 色的,有 $this->wheel_size 个轮子的车,我正在拉 $something ";
    }
}

$qiche  = new Car();
$qiche->color = \'黑\';
$qiche->wheel_size = 12;
$qiche->pull_some_thing(\'人\');

echo \'<hr/>\';


//例子2:
class A
{
    function foo()
    {
        if (isset($this)) {
            echo \'$this is defined (\';
            echo get_class($this);//获得这个$this 代表的类
            echo ")\\n";
        } else {
            echo "\\$this is not defined.\\n";
        }
    }
}

class B
{
    function bar()
    {
        // Note: the next line will issue a warning if E_STRICT is enabled.
        A::foo();//在b类下调用A类的foo方法,获得的$this 是B类
    }
}

$a = new A();
$a->foo();

@A::foo();//直接在类外调用A类的foo方法不能获取到A类(就是说不能在类外使用$this指代目标类)
//$this->foo();//会报错

$b = new B();
@$b->bar();

// Note: the next line will issue a warning if E_STRICT is enabled.
@B::bar();

echo \'<br/>\';

执行效果 

以上是关于php学习笔记————php类的概念的主要内容,如果未能解决你的问题,请参考以下文章

PHP学习笔记---封装(面向对象三大特性之一)

PHP必用代码片段

php学习笔记day1--基本概念,及原理

PHP 面向对象程序设计(oop)学习笔记 - 抽象类对象接口instanceof 和契约式编程

php学习笔记细节部分。

PHP学习笔记之继承(面向对象三大特性之一)