<?php
define('Access',true);
//可以有不是抽象的方法和成员属性,但只要有一个方法是抽象的方法,这个类就必须声明为抽象类
abstract class Demo
{
var $test;
abstract function fun1();
}
interface MyInterface
{
public function bark();
}
final class Person
{
function say()
{
echo 'final关键标记的类不能被继承,不能被子类覆盖,是最终版本';
}
}
class MyClass1
{
const PI=3.1415926;
static $static='Static';
private static $private = 'Private';
protected $protected = 'Protected';
public $public = 'Public';
// Contructors must be public
public function __construct() {self::$private='NewPrivate';}
// Declare a public method
public function MyPublic() {echo 'MyPublic'; }
// Declare a protected method
protected function MyProtected() { echo 'MyProtected';}
// Declare a private method
private function MyPrivate() {echo 'MyPrivate';}
}
/*
* Define MyClass2
*/
class MyClass2 extends MyClass1 implements MyInterface
{
// We can redeclare the public and protected method, but not private
protected $protected = 'Protected2';
public function __construct(){parent::__construct();}
public function __destruct(){
echo '结构被销毁了';
}
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
function bark(){
echo '我会叫。。。';
}
}
$obj = new MyClass2();
//PHP对象调用属性
echo $obj->public,'<br>';
//PHP对象调用方法
echo $obj->MyPublic(),'<br/>';
echo 'const '.MyClass1::PI,'<br />';
echo 'static '.MyClass1::$static,'<br />';
//多态-----通过一个接口,实现不同对象的不同输出(略)
?>
PHP面向对象之解说(封装,继承,多态,引用,【const,define】)
最新推荐文章于 2021-03-27 10:44:56 发布