php类和对象

来源:互联网 发布:泰牛程序员吧 编辑:程序博客网 时间:2024/06/05 11:58

PHP类和对象

1.     类的成员:属性方法常量

     属性,常量:用来保存数据   方法:用来存放执行的代码

     注意:在方法内部得到对象的属性,不能直接echo,需要使用$this来访问。

2.     堆属性和方法的访问控制是通过在前面添加关键字:

Public 在任何地方都可以访问(包括类的内部和类的外部)

Private 私有的,只能在类的内部访问

Protected 受保护的,只能在当前类内和他的子类或者父类中访问(继承的时候使用)

3.     类的常量的定义:  const 常量名 = 常量值 

         例如:const a=’常量’   

         访问常量: 类名::常量名

         例如:class  a{

                Const a=’定义常量’;

          Public function  test( ){

               Echo a::a; //类名为a常量名为输出结果:定义常量

 }

}

4.     范围解析操作符: ::用于访问静态属性,方法和常量

5.     魔术方法:

属于类的常用魔术方法:

  __construct( ): 当我们需要一个类,但是没有这个类,会自动的加载,这样脚本引擎在php出错前,有了最后一次加载所需的类。在调用这个函数时,会将当前所需的类名,以参数的形式传递到函数中去。

__desctruct( ) : 析构函数,对象注销的时候自动的调用析构函数,通常在对象注销的时候释放数据库链接。

__autoload( ) :当我们实例化一个类,但是没有找到这个类的定义,会自动的调用__autoload这个魔术方法,提供了一个契机,在php报错之前还有最后一次机会加载这个类。在调用这个魔术方法的时候,会自动的将需要的类名以参数的形式传递到了函数中去。

__toString( ):当我们echo对象的时候,会报错,这个时候 __autoload( )提供一个契机,在报错之前,获得一个字符串。

6.     构造方法():构造方法,实例化一个类的对象时,会自动的先调用这个方法。

7.     析构函数():php的对象被销毁时(脚本执行完毕)调用这个函数

8.     如果在实例化一个类的对象时传递参数,意味着向类的构造函数传递参数。

9.     对象之间赋值是引用传递;

10.  php有两种方法获得新对象:(1)通过类实例化对象(2clone(获得的是不同的对象)

11.  面向对象3大特性:

1.     封装性:封装就是将自然实体(特征)采用计算机面向对象的语言去描述,将自然语言抽象成计算机及语言的过程。

2.     继承性:有必要将相同的代码提取出来,然后在需要的地方加载,通过类的继承来实现。

3.     多态性:多态是面向对象的一种特性,但是在php这种弱类型的语言中,体现的不是很明显。多态就是同一个对象的多种状态。

12.  静态属性:

1.     面向对象的编程中,我们可以通过对象访问方法和属性,还可以通过类来访问它的成员,这样的方法和属性就是静态的

2.     定义类的静态属性,需要增加static关键字

3.     静态属性可以在静态方法中访问,也可以在非静态方法中访问

4.     类的每个实例都可以访问类中定义的静态方法,不能访问静态属性,因为静态属性属于类。

13.  设计模型:

工厂模式:负责生产对象,用的最多的地方就是根据条件动态创建对象

单例模式:我们操作数据库的对象,只需要一个(连接一次就够了),当一个类,使用一次就能够完成功能的话,我们需要保证实例化一次对象就够了。

原创粉丝点击