}publicfunctionprintName(){echo$this->getname(); } }$myclass=newMyClass("I Like PHP");$myclass->printName();//输出:I Like PHP?> 在类里面调用当前类的属性和方法有三种方法,分别是self、parent、$this,这三个关键字的区别是:self用来指向当前的类;parent用于指向当前类的父类,可以使用该关键字...
$this->private = 'private '; $this->protected = 'protected '; } public function tank(){ //私有方法不能继承,换成public,protected if (!isset(self::$instance[get_class()])) { $c = get_class(); self::$instance = new $c; } return self::$instance; } public function pub_function(...
$this 作为实例化的 Y 对象,直接访问了其动态方法 foo()。而继承的 X 类的 foo() 方法被重写,并不执行。 现在换一种写法。 这次类 X 的 bar 方法我们使用 self::foo() 调用。那么很显然,self 就是 class X 本身,那么调用的也自然是 X 的 foo 方法。上述程序输出 X::foo()。 引申:尽量别用 self...
declare (strict_types=1);classA {staticpublic$name; function setName(string$name) { self::$name=$name; } function getName() { var_dump(self::$name); } }classB extends A {//这里B继承A但是不做任何操作,//B也既有A的方法和属性} 3.1、 A类进行操作 //B类的属性和方法来自 A类, self ...
$this->property指向了MyClass类的property属性。 self::: self::是一个用于引用类的静态属性和方法的关键字。使用self::可以访问类的静态属性和方法,而不需要创建类的实例。 代码语言:php 复制 class MyClass { public static $property; public static function myMethod() { self::$property = "Hello,...
综上所述,self调用的是类,而$this调用的则是实例化的对象。下面是代码。 <?php class demo { public $a; public $b; public static $c = 100; public function __construct($a) { $this->a = $a; $this->funct(); } public static function func() { $newObj = new self(20); $newObj->fu...
那么很显然,self 就是 class X 本身,那么调用的也自然是 X 的 foo 方法。上述程序输出 X::foo()。 引申:尽量别用 self::,要用 static:: self 简单好用,但是作用域叫人恼火。因为它的作用域是在定义时的,而不是执行时的。比如这么个例子: 如果调用 Person::status(),返回 'Person is alive'。现在...
{三}PHP中this,self,parent的区别之三parent篇 此篇我们就parent的用法进行讲解。 首先,我们明确,parent是指向父类的指针,一般我们使用parent来调用父类的构造函数。实例如下: <?php //建立基类Animal class Animal { public $name; //基类的属性,名字$name ...
学习PHP的小朋友们都知道,PHP在中小型企业的应用是非常广泛包括建站、小程序、CRM与OA等,那么作为基础中的基础,PHP面向对象你又掌握了多少呢?在这将就这个问题做一个详细的讲解。 正文 一、定义类 使用关键字class定义 二、实例化对象 使用关键字new实例化对象 三、类成员的添加和访问 (1)类成员:属性、方法、常...
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。 然后我们在类中定义数据类型,然后在实例化的类中使用数据类型: <?phpclassCar{var$color;functionCar($color="green"){$this->color=$color;}functionwhat_color(){return$this->color;}}functionprint_vars($obj){foreach(get_object_...