简述如何用php语言定义类和对象,2.PHP语言类和对象的介绍

每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。

一个类可以包含有属于自己的常量,变量(称为“属性”)以及函数(称为“方法”)

class SimpleClass

{

// 声明属性

public $attribute;

// 声明方法

function operation($param)

{

$this->attribute = $param;

echo $this->attribute;

}

}

?>

15.2对象

要创建一个类的实例,必须使用 new 关键字。

$a = new SimpleClass();

?>

在类中可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性和方法。

$a = new classname();

$a->attribute = "value";

echo $a->attribute;

$a->operation(12);

在类中可以用 ::(双冒号):self::$property 来访问静态属性和方法。

class Foo

{

public static $my_static = 'foo';

public function staticValue() {

return self::$my_static;

}

}

class Bar extends Foo

{

public function fooStatic() {

return parent::$my_static;

}

}

print Foo::$my_static . "\n";

$foo = new Foo();

print $foo->staticValue() . "\n";

print $foo->my_static . "\n"; // Undefined "Property" my_static

print $foo::$my_static . "\n";

$classname = 'Foo';

print $classname::$my_static . "\n"; // As of PHP 5.3.0

print Bar::$my_static . "\n";

$bar = new Bar();

print $bar->fooStatic() . "\n";

?>

静态方法示例

class Foo {

public static function aStaticMethod() {

// ...

}

}

Foo::aStaticMethod();

$classname = 'Foo';

$classname::aStaticMethod(); // 自 PHP 5.3.0 起

?>

15.3继承

一个类可以在声明中用 extends 关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。

被继承的方法和属性可以通过用同样的名字重新声明被覆盖。但是如果父类定义方法时使用了 final,则该方法不可被覆盖。可以通过 parent:: 来访问被覆盖的方法或属性。

class ExtendClass extends SimpleClass

{

// Redefine the parent method

function displayVar()

{

echo "Extending class\n";

parent::displayVar();

}

}

$extended = new ExtendClass();

$extended->displayVar();

?>

15.4访问控制

对属性或方法的访问控制(PHP 7.1.0 以后支持常量),是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phpbasic/3457.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值