PHP 面向对象学习

1、什么是面向对象,什么是类

2、使用CLASS创建一个类

3、类的成员属性和成员方法

4、使用new函数对象实例化

1、创建一个和多个对象

2、对象中的$this关键字

3、初始化对象  __construct()

4、析构函数 __destruct()

封装 关 键字 :public,protected,private

public 表示全局,类内部外部子类都可以访问;

protected表示受保护的,只有本类或子类或父类中可以访问;

private表示私有的,只有本类内部可以使用;

封装相关函数:__set() , __get()

1、继承关键字 :extends

class home extends MyPc{

……

……}

2、PHP继承的规则

3、基类方法重载和父类方法访问

基类名 :: 方法名称

1、抽象关键字 :abstract

abstract class class1{

   abstract function fun1();

……

}

class cl2 extends cl1{

   function fun1(){

   }

……

}

2、抽象方法和抽象类的定义

3、抽象类和方法使用规则

1、关键字 :final

用来定义类和方法的一个重要关键字,当定义类的时候该类将不能被继承,当用来定义方法的时候该方法将不能被重载

2、关键字 : self

 用来用类访问当前类中的内容的关键字,类似与$this关键字,但$this是需要 类实例化以后才可以使用,self 可以直接访问当前类中的内部成员

3、关键字 :static

用来定义类的静态属性或方法,可以在类未被实例化时使用,静态属性单独占 用内存而不会因创建多个对象时而导致同样的方法或者属性重复占用。

4、关键字 :const

 用来定义类中的常量,类似PHP外部定义常量的关键字define();  Const只能 修饰类当中的成员属性!

1、接口的介绍与创建

           关键字 :interface

2、接口的引用与规范

           关键字 :implements

先继承后接口,单继承多接口

  class mypc extends root implements demo , demo2 , demo3{

       ……

1、多态的介绍与优势

2、运算符 :instanceof

class A { }

class B { }

$thing = new A;

if ($thing instanceof A) {

    echo 'A';

}

if ($thing instanceof B) {

    echo 'B';

}

1、对象描述的配置

方法名 __tostring()

class My{

function __tostring ( ){

  echo "我所要显示的内容";

   }

}

$p = new My();

echo $p;

2、对象方法的异常处理

方法名 __call($funname,$arr_value)

class My{

function __call($n,$v){

  echo "错误的方法名".$n;

  echo "错误的参数".Print_r($v);

   }

}

3、克隆对象的应用

方法名 __clone() 

关键字  clone

class My{

function __clone( ){

  echo "克隆时自动调用的函数";

   }

}

内存中只有一个对象

$a=new My()

$b=$a;

内存中会有两个对象

$a=new My()

$b= clone $a;

4、自动载入对象的方法

方法名 __autoload()

function __autoload($class_n){

  include($class_n.".php");

   }

  $p=new Mypc();

  $d=new demo();

3、多态的简单应用

    }

原文地址:https://www.cnblogs.com/visi_zhangyang/p/2582506.html