php专区

 首页 > php专区 > PHP高级 > 面向对象MVC > php中的类、对象学习笔记 - php面向对象

php中的类、对象学习笔记 - php面向对象

分享到:
【字体:
导读:
          本文章来给大家介绍在php面向对象的一些用法详细,这里主要是讲到php中的类、对象学习笔记,希望对各位同学会有所帮助。 面向对象思...

php中的类、对象学习笔记

本文章来给大家介绍在php面向对象的一些用法详细,这里主要是讲到php中的类、对象学习笔记,希望对各位同学会有所帮助。

面向对象思想

面向对象程序设计(Object-Oriented Programming,OOP)是一种程序设计范型,同事也是一种程序开发方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和可扩展性。

面向过程、面向对象以及函数式编程被人们称为编程语言中的三大范式(实际上,面向过程与面向对象都同属于命令式编程),是三种不同编码和设计风格。其中面向对象的核心思想是对象、封装、可重用性和可扩展性。

面向对象是一种更高级、更抽象的思维方式,面向过程虽然也是一种抽象,但面向过程是一种基础的抽象,面向对象又是建立在面向过程以上的更高层次的抽象,因此面向对象的理解也就不是那么容易了。

类是我们队一组对象的描述

在php里,每个类的定义都以关键字class开头,后面跟着类名,紧接着一对花括号,里面包含有类成员和方法的定义,如下代码所示:

  1. class person{  
  2.     public $name;  
  3.     public $gender;  
  4.     public function say(){  
  5.         echo $this->name."is ".$this->gender;  
  6.     }  

接下来就可以产生这个类的实例,代码如下:

  1. $student = new person();  
  2. $student->name="Tome";  
  3. $student->gender= "male";  
  4. $student->say();  
  5. $teachernew person();  
  6. $teacher->name="kati";  
  7. $teacher->gender= "female";  
  8. $teacher->say(); 

这段代码则实例化了person类,产生了一个student对象和teacher对象的实例。实际上也就是从抽象到具体的过程。

对类和对象的一些理解:

类定义了一系列的属性和方法,并提供了实际的操作细节,这些方法可以用来对属性进行加工。

对象含有类属性的具体值,这就是类的实例化。正是由于属性的不同,才能区分不同的对象。在上面例子里,由于student和teacher的性别和姓名不一样,才得以区分开二人。

类与对象的关系类似一种服务于被服务、加工与被加工的关系,具体而言,就如同原材料与流水线的关系,只需要在对象上调用类中所存在的方法,就可以对类的属性进行加工,并且展现其功能。

打印student对象,代码如下:

  1. print_r((array)$student);  
  2. var_dump($student); 

序列化对象,实例代码如下:

  1. $str = serialize($student);  
  2. echo $str;  
  3. file_put_contents('store.txt',$str);  
  4. //输出结果:0:6:"person":2:{s:4:"name";s:3:"Tom";s:6:"gender";s:4:"mail";} 

反序列化对象,实例代码如下:

  1. $str = file_get_contents('store.txt');  
  2. $student = unserialize($str);  
  3. $student->say();  
分享到:
php面向对象的封装性说明 - php面向对象
php面向对象的封装性说明   从上面的实例可以看到,私有的成员是不能被外部访问的,因为私有成员只能在本对象内部自己访问,比如,$p1这个对象自己想把他的私有属性说出去,在say()这个方法里面访问了私有属性,这样是可以,(没有加任何访问控制,默认的是public的,任何地方都可以访问).
php入门教程之面向对象 - php面向对象
php入门教程之面向对象 第一种情况:子类没有定义构造函数时,默认继承。 第二种情况:子类定义了构造函数,则不会被继承。 对于4.x,如果父类恰好定义了子类的同名函数,则会被当做子类的构造函数,实例代码如下: class A  {      function A()      {      ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……