首页 > 代码库 > php类与对象的基本概念

php类与对象的基本概念

php面向对象设计

    对象相比数组的优点:不仅可以存储多个数据,还可以将函数存在对象中

    对象的三大特性:封装、继承、多态

    面向对象编程(object oriented programming 即oop),其达到了编程代码的重用性、灵活性和扩展性更加简洁、容易维护。php又不是纯的面向对象编程,其也可以是面向过程编程。

    1.面向对象和面向过程的区别?

      面向过程:就是在整个项目中最小单位都是由函数组成的

     面向对象:就是在整个项目中最小单位都是由对象组成的

   2.什么是对象

      对象,可以说世间万物都是。就是一个实体,在现实生活中能够描述出来的。例如:桌子、电脑等

   3.对象中有什么?

       对象:成员 

                 成员属性==变量-->定义对象的外观和状态

                 成员方法==函数-->定义对象的功能

   4.什么是类?

        分类、类型、自己类型

     就是给一个东西分类别,就是在这个类中定义属性和方法

     例如给鸟定义属性和方法

5、类与对象之间的一个关系

    声明类-->实例化对象(创建对象)-->用对象

    一句话就是:类是对象的声明,对象是类的实例

   类是抽象的,代表了一类的事物,现实生活中的具体事物

   类是对象的模板,对象是类的具体实例【就是生活中所能描述出来的一个具体的东西,人(一种食物的类别,即类,这里面的内容是每个人都通有的东西)-->黑人、白人、黄种人(具体的一个对象)】

  ①  类的声明

     修饰符  class 类名{

                    成员

            }

    案例:

        

<?php
//类的声明
class Cat{
public $name;
public $age;
public $color;
}

//实例化对象
$cat1=new Cat();//也可不用小括号()
$cat1->name="小白";//->是指向的意思
$cat1->age=2;
$cat1->color="白色";
$cat2=new Cat();
$cat2->name="小黑";
$cat2->age=2;
$cat2->color="黑色";

//对象的使用

$findName="小白";
if($cat1->name==$findName){
echo $cat1->name."<br/>".$cat1->age."<br/>".$cat1->color;


}
if($cat2->name==$findName){
echo $cat2->name."<br/>".$cat2->age."<br/>".$cat2->color;


}

?>

②如何定义一个类的文件名

      专门定义一个类的文件名应该这样定义:类名.class.php  

 例如:Cat.class.php

<?php

class Person{

public $name;
public $age;

}
$a=new Person();
$a->name="小明";
$a->age=20;
$b=$a;
var_dump($a);
echo "<br/>";
var_dump($b);
echo $a->name;
echo "<br/>".$b->name;

?>

图解