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;
?>
图解
原文:http://www.cnblogs.com/tangyue/p/3739287.html