php面向对象

面向对象

类是种类,对象是种类其中的一个,每个对象都互不影响

 

修饰词

public     //公共的,在任何位置都可以使用
protected   //受保护的,只能在当前类或有继承关系的类中使用
private    //私有的,只能在所在类中使用

 

 

基本语法

class classname{  //classname是自定义类名
public $property;…   //用public声明一个公共标识 然后给予一个变量 变量也可以赋值
public $v1;
public $2=2;
function functionname ( args ){   //类的方法里的成员函数
  执行的代码
} …
//类的方法(成员函数) }

 

生成对象

1、$对象名1  =  new  类名(); //对象名就是变量名;

2、$name='classname';

  $name1=new $name();  //可变类(名)

3、$对象名3 = new  self;   //self指代类本身,这行代码只能在类内部方法中使用

 

使用形式

$对象->属性名;

注意:属性名前面没有$符号

 

构造方法

跟javascript里的页面加载一样,只要进入这个类就会从上到下的执行

class p{
  public $name;  //名字属性
  public $age;  //年龄属性
  function intro(){  //输出的方法
       echo "<br />hi,大家好,我叫".$this->name; 
       echo ",今年".$this->age."岁"; 
    }         
   function __construct($n,$a){  //构造方法
        $this->name=$n;
        $this->age=$a;
    } 
}

$p=new p('李四',22);
$p->intro;

最后输出结果为:hi,大家好,我叫李四,今年22岁

注意

子类中没有定义析构方法时,会自动调用父类的析构方法。

子类定义了自己的析构方法,则不会自动调用父类的析构方法,但可以手动调用:parent::__destruct()

类的继承

  1. 继承:一个类从另一个已有的类获得其特性,称为继承。

  2. 派生:从一个已有的类产生一个新的类,称为派生。

  3. 继承和派生,其实只是从不同的方向(角度)来表述,本质上就是一个事情。

  4. 父类/子类:已有类为父类,新建类为子类。父类也叫“基类”,子类也叫“派生类”

  5. 单继承:一个类只能从一个上级类继承其特性信息。PHP和大多数面向对象的语言都是单继承模式。C++是多继承。

  6. 扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了

 

抽象类

在正常定义类的前面,加上关键字:abstract,那就构成抽象类

abstract  class  类名{.....类的定义.....} 

抽象类的使命是专门做父类”:子类就继承了它的特性,这就是“规范作用”

就是专门做父类使用的

抽象方法

抽象方法是一个没有方法体(也不含大括号)的方法定义“头”而已。前面需要加上abstract

abstract  function  f1($x1, $y, $m) ;    //注意,后面一定有分号。

其实跟抽象类一样,配合抽象类,来实现对下级类的“行为规范”。

即相当于要求下级类去完成该功能(动作),但自己是不做的。

 

原文地址:https://www.cnblogs.com/zyfeng/p/10921366.html